On Tue, 03 Mar 2009 21:22:44 +0100, Axel Kohlmeyer <akohlmey at cmm.chem.upenn.edu> wrote: > (like IPO, PGO, SSE/MMX-vectorization) are working best with small > test cases, but for any larger, more complex code, they add > overhead about as often as they don't. the compiler doesn't > really know which parts of a code are executed a lot and which > are not, so it may put a lot of effort into optimizing the > wrong parts, and - as i wrote before - aggressive optimization > has the high risk of miscompiled (overoptimized) code.
In this regard, some time ago I tryed to compile QE using PGO and IPO, I spent some time compiling the test code and running some extensive profiling. Then recompiling with aggressive optimization and profiling data. The final code was about 5% faster than the original, but it was numerically less stable (due to over-optimization), hence it took two more iterations to converge than the not-so-optimized code, rending the total speedup exactly zero. cheers -- Lorenzo Paulatto SISSA & DEMOCRITOS (Trieste) phone: +39 040 3787 511 skype: paulatz www: http://people.sissa.it/~paulatto/ *** save italian brains *** http://saveitalianbrains.wordpress.com/
