Then again if I'm writing a multi-threaded program then go blows gcc out of the water.
brucee
There have been many over the years (I think the original papers present something), but I've not seen anything current enough to be useful. The very short version: gcc almost always produces faster executables from the same code.