Originally posted by wizard69
There is sure to be some optimization for i86 but that really isn't where the advantage is. i86 just has the performance advantage with in the CPU where it matters. That is it's integer capability and the ability to do those integet ops very fast.
What makes you think integer performance is the most important metric? If that were the case, the G4 (which has 4 integer units -- three simple plus one complex, compared to just 2 general-purpose units on the G5, and 2 double-pumped simple and one complex on the P4) should fare a lot better than it seems to do in reality...
I still don't buy the optimization arguement. It is part of the advantage but fast integer ALU's can and do play a big part here. Frankly this could be seen when the G5's arrived, Apple concentrated on performance numbers that involved either AltVec or the floating Point unit.
Well, HPC for one thing is all about Flops, as are generally a lot of the really computationally intensive applications (e.g. rendering, audio processing). Stuff like the Finder and such isn't really CPU-bound in the first place; you don't get the SBOD in Finder because the CPU can't add, subtract or perform logical operations on integers fast enough -- more likely, it's caused by the software architecture (e.g. locking, FS performance, etc.), lack of I/O performance, or a combination of both rather than lack of raw integer processing power.
The G5 can be the ideal processor if it does what you want it to do. If it doesn't then it can be a rather poor performer. That has nothing to do with optimization, rather it just takes into account the slow integer unit. It should be noted though that slowness is relative, the integer unit on the G5 doesn't do that bad for the clock rate, but all things being equal the clock rate on the G5 hasn't really kept pace.
The relative performance of the integer units doesn't change the fact that GCC generates far better x86 code then PPC code (or code for any other architecture).