|[3 earlier articles]|
|Re: GCC code quality, was Compiler Companies in Australia firstname.lastname@example.org (Amit Gupta) (2005-07-05)|
|Re: GCC code quality, was Compiler Companies in Australia email@example.com (2005-07-05)|
|Re: GCC code quality, was Compiler Companies in Australia firstname.lastname@example.org (Walter Banks) (2005-07-05)|
|Re: GCC code quality, was Compiler Companies in Australia email@example.com (Julian Stecklina) (2005-07-11)|
|Re: GCC code quality, was Compiler Companies in Australia alexc@TheWorld.com (Alex Colvin) (2005-07-12)|
|Re: GCC code quality, was Compiler Companies in Australia firstname.lastname@example.org (Robert H) (2005-07-22)|
|Re: GCC code quality, was Compiler Companies in Australia Robert.Thorpe@antenova.com (Robert Thorpe) (2005-07-26)|
|From:||"Robert Thorpe" <Robert.Thorpe@antenova.com>|
|Date:||26 Jul 2005 13:20:23 -0400|
|Posted-Date:||26 Jul 2005 13:20:23 EDT|
Robert H wrote:
> >>platforms? What did the numbers look like?
> I can't tell you too many details. However, from our experience and
> measurements on Itanium HP-UX and Linux, I can tell you that gcc is
> far inferior compiler in terms of performance when compared, for
> example, against the Intel compiler, our HP-UX compiler, or the ORC
> (Open64 compiler) and its derivatives. It is decent for integer
> benchmarks, but for some benchmarks, in particular fp, gcc is up to
> behind - and more! (but take this number with a grain of salt - many
> compilers are heavily tuned for SPEC ;-). But even on the upcoming
> 2006, where the vendors didn't have the time to fully tune yet, gcc is
> behind a lot.
> Sorry for being vague at this point. You should be able to decode some
> of the details by looking at various sources, such as the SPEC pages
> and other company disclosures and academia papers.
There is a difference between GCC performance in general and GCC
performance on IA64 in-particular.
IA64 is an in-order VLIW machine, making it a very difficult
architecture to optimize for. GCC was not built with these kind of
machines in mind. Also, IA64 machines are very expensive making testing
IA64 performance expensive. Lastly, a fair amount of the work on GCC
optimizations is funded by AMD, who of course want to improve x86-64
For comparison, GCCs performance on x86 is rather better
The 2.26GHz Pentium 4 used for this test gave:-
Intel C Compiler 8.1:
SPECInt base/peak 687.5/686.4
There is a significant difference, but they aren't a world away.
(I should note that these results aren't full reportable SPEC results,
see Diego Novillo's website for why)
There is another good comparison here:
The difference comes down to will. Intel and HP want IA64 to show good
performance, and are willing to put a lot of work into their compiler to
get it. The authors of GCC amongst other goals want code running fast
on commonly used architectures like x86.
> gcc's strenght is portability - and it is getting better and better in
> the high level optimizer (just see new SSA framework in 4.0, or the
> LLVM effort). Machine specific optimizations, which are particularly
> important for Itanium, are not up to snuff - yet ;-)
GCCs strength has always being its high-level optimizations. Its
low-level optimization will only match ICCs when someone spends the
time and money necessary to improve them.
Return to the
Search the comp.compilers archives again.