Hi there, I have compiled and run a set of C++ benchmarks on a CentOS4/64
box using the following compilers:
a) g++4.1 that is available for this distro (GCC version 4.1.2 20071124
(Red Hat 4.1.2-42)
b) g++4.6 that I built (stock version 4.6.1)
The machine has two Intel quad core processors in x86_64 mode (/proc/cpuinfo
attached)
Benchmarks were taken from this page:
http://stlab.adobe.com/performance/
Results:
- some of these tests showed 20..30% performance degradation
(eg the second section in the simple_types_constant_folding test: 30s
-> 44s)
- a few were quicker
- full reports are attached
I would assume that performance of the generated code is closely monitored
by the dev community and obvious blunders should not sneak in... However, my
findings are reproducible with these synthetic benchmarks as well as
production code at work. The latter shows approximately 25% degradation on
CPU bound tests.
Is there a trick to building the compiler or using a specific -mtune/-march
flag for my CPU? I built the compiler with all the default options (it just
has a distinct installation path):
../gcc-%{version}/configure --prefix=/work/tools/gcc46
--enable-languages=c,c++ --with-system-zlib --with-mpfr=/work/tools/mpfr24
--with-gmp=/work/tools/gmp --with-mpc=/work/tools/mpc
LD_LIBRARY_PATH=/work/tools/mpfr/lib24:/work/tools/gmp/lib:/work/tools/mpc/lib
Are there any published benchmarks? I'd appreciate any advice or pointers.
Thanks in advance,
Oleg.