On Sunday 12 June 2005 11:21, Uros Bizjak wrote:
> Hello!
>
> There is an interesting comparison of SPEC scores between gcc and icc:
> http://people.redhat.com/dnovillo/spec2000.i686/gcc/individual-run-ratio.ht
>ml . A quick look at the graphs shows a big differences in achieved scores
> between gcc and icc, mostly in SpecFP tests. I was trying to find some
> information on this matter, but none can be found in the archives on gcc's
> site.
>
> An interesting examples are:
> -177.mesa (this is a c test), where icc is almost 40% faster

It would be interesting to look into this one.

> -179.art, where llvm is more than 1.5x faster than both gcc and icc

Perhaps LLVM has the art hack enabled by default. IIUC GCC can do this
on the struct-reorg-branch.

> -178.galgel, where icc is again 40% faster
> -187.facere, where icc is 100% faster than gcc
> -189.lucas, where icc is 60% faster

Well, our fortran front end has to make some pessimistic assumptions
about a great number of things (dependencies, in particular) that ifc
handles better.  Comparing gfortran and ifc is just Not Interesting
at this point IMVHO.


> I know that these graphs don't show the results of most aggresive
> optimization options for gcc, but that is also the case with icc (only
> -O2). However, it looks that gcc and icc are not even in the same class
> regarding FP performance. Perhaps there is some critical optimizations,
> that are not present in gcc?

No, icc/ifc just do many things by default that GCC does not.

> I think I'm not the only person, that finds these results rather
> "dissapointing". As Scott is currently writing a paper on gcc's FP
> performance, perhaps someone has an explanation, why gcc's results are
> so low on Pentium4 for these tests?

Many possibilities:
- icc/ifc use special argument passing tricks that gcc does not (e.g.
  uses SSE more, etc.)?
- icc has fast math by default?
- they unroll by default?
- they actually optimized their compiler for this dreadful Pentium 4
  NetBurst uops buffer and all that other crap in this microarch that
  behave so very unpredictably (especially for gcc)?
- icc/ifc just are "optimized for SPEC" to make their compiler look
  really good compared to others on this industry-standard benchmark,
  while for Joe User's code the difference is not nearly this large?

Gr.
Steven

Reply via email to