All tests were compiled with -O3
sys1: cpu family 15,model 2, Intel(R) Xeon(TM) CPU 2.60GHz g++295 g++400 g++401 g++401_stlp g++410_0723 g++410_0723_stlp Ratios relative to g++295 (stars signify regressions) ==== Store and extract bit fields (pr22563 in gcc bugzilla) sys1 H000007 1.00 7.17* 7.42* 7.22* 6.96* 6.56* ==== S* Fill a buffer using different levels of abstraction sys1 S000005j 1.00 5.62* 5.68* 5.42* 5.50* 5.59* sys1 S000005a 1.00 5.51* 5.39* 5.46* 5.49* 5.50* sys1 S000005b 1.00 5.47* 5.45* 5.49* 5.45* 5.58* sys1 S000005d 1.00 5.39* 5.53* 5.45* 5.49* 5.49* sys1 S000005l 1.00 5.38* 5.41* 5.30* 0.99 0.99 sys1 S000005i 1.00 5.33* 5.11* 5.36* 5.47* 5.39* sys1 S000005h 1.00 5.27* 5.44* 5.40* 5.57* 5.61* sys1 S000005g 1.00 5.05* 5.15* 5.14* 5.24* 5.38* ==== Procedure call with 10 parameters of type "some class" sys1 P000012 1.00 3.55* 3.60* 3.46* 3.25* 3.96* ==== Exceptions sys1 E000001 1.00 3.24* fail fail fail fail ==== Procedure call with 20 parameters of type "some class" sys1 P000013 1.00 3.11* 3.12* 2.96* 2.96* 2.93* ==== Arithmetics with complex numbers (OOP style) sys1 S000004b 1.00 2.61* 2.66* 2.61* 2.46* 2.47* ==== I/O sys1 G000004 1.00 2.58* 2.17* 2.07* 2.09* 2.19* ==== Very few and simple arithmetic operations sys1 O000010b 1.00 2.45* 2.19* 2.01* 2.02* 1.99* ==== Math (Moore-Penrose Passive Ranging Simulation) sys1 B000013 1.00 2.29* 2.31* 2.49* 2.84* 2.84* ==== E* Exceptions sys1 E000003 1.00 1.69* fail fail fail fail sys1 E000004 1.00 1.64* fail fail fail fail sys1 E000007 1.00 1.57* fail fail fail fail ==== Heavy recursion (dead cerr) sys1 A000094a 1.00 1.51* 1.40* 1.53* 0.90 0.90 ==== Exceptions sys1 E000002 1.00 1.37* fail fail fail fail ==== Very few and simple arithmetic operations sys1 O000008b 1.00 1.36* 1.36* 0.91 1.34* 0.95 ==== I/O sys1 G000001 1.00 1.32* 1.35* 1.30* 1.33* 1.32* ==== Allocate and free a dynamic array on the stack sys1 D000005 1.00 1.29* 1.87* 1.02* 2.13* 1.26* ==== Procedure call with 10 parameters of type "int" sys1 P000010 1.00 1.24* 1.08* 0.94 1.42* 1.23* ==== Switch statement sys1 F000004 1.00 1.23* 0.98 0.98 0.98 1.00* ==== Matrix multiply sys1 A000094d 1.00 1.21* 1.22* 1.21* 1.31* 1.31* ==== Virtual functions sys1 F000008 1.00 1.20* 1.20* 1.20* 1.19* 1.18* ==== I/O sys1 G000007 1.00 1.19* 1.21* 1.77* 1.22* 1.66* ==== Very few and simple arithmetic operations sys1 O000011a 1.00 1.18* 1.13* 1.13* 0.95 0.95 ==== Very few and simple arithmetic operations sys1 O000011b 1.00 1.14* 1.14* 1.07* 1.09* 1.09* ==== Procedure call with 20 parameters of type "int" sys1 P000011 1.00 1.12* 1.02* 1.30* 1.81* 1.21* ==== Quicksort implementation sys1 A000094g 1.00 1.10* 1.10* 1.10* 1.18* 1.18*