diff options
author | David Hows <howsdav@gmail.com> | 2017-10-25 22:53:35 +1100 |
---|---|---|
committer | Todd Gamblin <tgamblin@llnl.gov> | 2017-10-25 13:53:35 +0200 |
commit | 05b3178ca4e51925ab5ddfb3cdcf092a1fb10cd8 (patch) | |
tree | 014fd71cabc52b37ed849ea013b07a36b26c342d /var | |
parent | ce8a698b48a0c5f4b096167fd5a1e398f6ee4ad6 (diff) | |
download | spack-05b3178ca4e51925ab5ddfb3cdcf092a1fb10cd8.tar.gz spack-05b3178ca4e51925ab5ddfb3cdcf092a1fb10cd8.tar.bz2 spack-05b3178ca4e51925ab5ddfb3cdcf092a1fb10cd8.tar.xz spack-05b3178ca4e51925ab5ddfb3cdcf092a1fb10cd8.zip |
Zlib gets a 50-60% performance win when compiled with -O2 (#5838)
Chasing a performance regression has lead me to this change, going from default optimization gives a significant performance win. The sweet spot for zlib is apparently `-O2`, both `-Ofast` and `-O3` are slightly worse (regression is about 3% compared with `-O2) in my testing.
Happy to share my methodology with people so we can benchmark on a wider variety of systems.
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/zlib/package.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/zlib/package.py b/var/spack/repos/builtin/packages/zlib/package.py index 11ae411e91..a642d64b57 100644 --- a/var/spack/repos/builtin/packages/zlib/package.py +++ b/var/spack/repos/builtin/packages/zlib/package.py @@ -45,6 +45,8 @@ class Zlib(Package): description='Produce position-independent code (for shared libs)') variant('shared', default=True, description='Enables the build of shared libraries.') + variant('optimize', default=True, + description='Enable -O2 for a more optimized lib') patch('w_patch.patch', when="@1.2.11%cce") @@ -58,6 +60,8 @@ class Zlib(Package): def setup_environment(self, spack_env, run_env): if '+pic' in self.spec: spack_env.append_flags('CFLAGS', self.compiler.pic_flag) + if '+optimize' in self.spec: + spack_env.append_flags('CFLAGS', '-O2') def install(self, spec, prefix): config_args = [] |