The sample code runs 30-50% slower on my machine when compiled with 3.4.3 as opposed to 3.3.4. It creates some objects and then references them via pointer lookup, so my best guess is that somehow 3.4.3 binaries have many more cache misses.
I have noticed the severe regression on AMD Athlon 3200 running linux 2.6, with compile options -O3 -march=k8. Other options (e.g. -O2 instead) don't help. -- Summary: pointer lookup cache misses more frequent Product: gcc Version: 3.4.3 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kpmassey at gmail dot com CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21316