Hi all,

I have some preleminary benchmark results comparing 3.4(.3) with 4.0.0, including some optimization option permuations.

  http://exactcode.de/rene/hidden/gcc-article/2005-gcc-4.0/stat2-rt.png
  http://exactcode.de/rene/hidden/gcc-article/2005-gcc-4.0/stat2-bt.png

rt = runtime
bt = buildtime

-lu == -funroll-loops
-uaat == -funit-at-a-time
-vect == -ftree-vectorize
-oft == -fomit-frame-pointer
-x ==  -funroll-loops -fpeel-loops -fpeel-loops -funswitch-loops
       -ftree-vectorize -ftracer -fomit-frame-pointer

-x-uaat == -x + -uaat

A short summary:

4.0 seems to be very good at modern C++ code, especially involving a lot of templates.

The -Os switch's generated code speed degenerated by magnitudes for C++ code (look at Botan and tramp3d).

4.0 seems to have problems catching up at C code where 3.4(.3) was previously yielding good results - e.g openssl, libmad and gnupg seem to be a challenge for GCC.

Of course all hand written assembly was disabled in those benchmarks, to review what GCC is able to genereate out of the generic C code ...

Feedback welcome - yours,

--
René Rebe - Rubensstr. 64 - 12157 Berlin (Europe / Germany)
            http://www.exactcode.de/ | http://www.t2-project.org/
            +49 (0)30  255 897 45



Reply via email to