Serious performance difference between development and production builds
|
|
Bugzilla Link |
523 |
Created on |
Jul 13, 2009 17:48 |
Resolution |
FIXED |
Resolved on |
Jul 27, 2009 19:24 |
Version |
1.00beta |
OS |
Linux |
Architecture |
PC |
Extended Description
It looks like the development compiler fails to generate code that
performs as well as the production build of the compiler.
Here are instruction counts for the apex/buildv2.sac benchmark
(this is one of many that exhibit this behavior), taken with
production vs. development builds:
1. We start with developer version, compile, execute, and gather
instruction counts:
sac2c v1.00-beta (Buchette d'Anjou)
developer rev 16188 linux-gnu_x86_64
(Mon Jul 13 11:51:22 EDT 2009 by sac)
2. papi file build after sac2c link:
apex@rattler:~/apex2003/benchmks/buildv2$ ls -l *papi*
-rw-r--r-- 1 apex apex 1148 2009-07-13 12:02 buildv2.sac.exe.swlf.papiex.rattler.21334
3. Instruction counts: 1703750737
apex@rattler:~/apex2003/benchmks/buildv2$ grep TOT_INS: *papi*
buildv2.sac.exe.swlf.papiex.rattler.21334:PAPI_TOT_INS: 1703750737
4. Product link:
apex@rattler:~/apex2003/benchmks/buildv2$ sac2c -V
sac2c v1.00-beta (Buchette d'Anjou)
product rev 16188 linux-gnu_x86_64
(Mon Jul 13 11:38:44 EDT 2009 by sac)
apex@rattler:~/apex2003/benchmks/buildv2$ /bin/bash papione buildv2.sac
Starting to papiex buildv2.sac
Executing buildv2.sac.exe.swlf
12518327083750
2
apex@rattler:~/apex2003/benchmks/buildv2$ sac2c -V
sac2c v1.00-beta (Buchette d'Anjou)
product rev 16188 linux-gnu_x86_64
(Mon Jul 13 11:38:44 EDT 2009 by sac)
5. Instruction counts: 1188741966
apex@rattler:~/apex2003/benchmks/buildv2$ grep TOT_INS: *papi*
buildv2.sac.exe.swlf.papiex.rattler.21334:PAPI_TOT_INS: 1703750737
buildv2.sac.exe.swlf.papiex.rattler.23985:PAPI_TOT_INS: 1188741966
I was under the impression that both builds are intended to generate
identical code. What am I missing here?
6. Just in case the problem(s) is limited to my SAACYC changes,
I ran the same code with -O3 as well. Same results:
buildv2.sac.exe.O3.papiex.rattler.24240:PAPI_TOT_INS: 1207500603
buildv2.sac.exe.O3.papiex.rattler.25670:PAPI_TOT_INS: 1747529264
buildv2.sac.exe.swlf.papiex.rattler.21334:PAPI_TOT_INS: 1703750737
buildv2.sac.exe.swlf.papiex.rattler.23985:PAPI_TOT_INS: 1188741966