Since I did quite well with regex (10-20% speed improvement on average), I've been hooked by the idea of squeezing some performance out of gcc... I've produced a couple o' patches that get about 1% each, 40 more and that's 50% of gcc's speed :-) After seeing how it's written I would not trust it very much as my compiler... Just kidding of course, but it's incredible how much special casing gcc has and how many intricated if's that the compiler has a hard time optimizing. No doubt it's slow.
Ah, I found a cute bug, PR/13931 in gcc's bugzilla database. This is marked as a critical regression for 3.4, maybe you can blame me if the release is delayed. ;->
The thesis is finished and printed, though I did make a couple improvements after I prepared the final benchmarks; the result is that my VM a bit faster than the bytecode interpreter included with GCJ. Method calls are sloooow in GNU Smalltalk, something's got to be done sooner or later about that. :-(