Community
cancel
Showing results for 
Search instead for 
Did you mean: 
missing__zlw
Beginner
141 Views

Any published ICC vs GCC benchmark result?

Hi,
I was asked to choose which compiler to use for certain project. The choices are GCC (4.5.2) and ICC(whatever the latest version).
I searched for benchmark result and didn't find meaningful ones.

This is targeting on Intel Arch machines(Core i5 etc) , Linux OS.

The project is computational, ie, general searching, data processing. I am looking for runtime performance, not compiling time.

Any reference? Thank you.
0 Kudos
8 Replies
Brandon_H_Intel
Employee
141 Views

Go to http://software.intel.com/en-us/articles/intel-composer-xe/#details and scroll down to the graphs at the bottom for some spec numbers on Linux*.
TimP
Black Belt
141 Views

It looks like you don't have definite enough criteria to make a choice.
Have you decided between 32- and 64-bit linux?
Current versions of gcc have made significant improvements in run-time performance, even more so than with icc. You aren't likely to see nearly the performance differences that may have been quoted with obsolete gcc benchmarked against current icc. Your quoted gcc version is in between, not so far out of date.
Can we infer from your question that you don't use C++ ? If so, this gives you more latitude to employ the many performance pragmas which may be used to get a performance advantage from icc, particularly if you rule out C99 restrict qualifiers.
Both compilers require some study to decide upon appropriate compile options, gcc more so than icc, in view of your choice of a version which doesn't yet include corei7 options, which balances against the greater amount of study involved with icc pragmas.
missing__zlw
Beginner
141 Views

I am targeting 64 bit Linux.
gcc 4.5.2 is not out of date, isn't it?
My project is in C++.
TimP
Black Belt
141 Views

Although the best supported linux distros still use gcc versions that old or older, if you wanted an Intel core architecture option in gcc, you would use a more recent version (4.6.3 is current, 4.7.0 due very shortly). icc can give you much better vectorized performance than gcc default options, if that's relevant.
Also, icpc has some attractive parallelism options beyond OpenMP, which it shares with your g++, such as Cilk+.
missing__zlw
Beginner
141 Views

Thanks. But I am interested in knowing the benchmark of "better vectorized performance ". Any test data to support it?
TimP
Black Belt
141 Views

You were already given a reference to some benchmarks of icc vs. an old gcc without corei7 options. If you decide to use gcc, you've been warned that you will need to study the options if you're interested in performance.
You can run published benchmarks yourself on the gcc options, such as the Levine-Callahan-Dongarra vector test suite and recent derivatives of it. Going further into the comparison of gcc versions and options makes no sense in this forum.
SergeyKostrov
Valued Contributor II
141 Views

Quoting zlw
...The project is computational, ie, general searching, data processing. I am looking for runtime performance, not compiling time...


The best way to proceed is to select a couple of algorithmsimplemented in your project and compare
performance with ICC ( evaluation version, for example) and GCC. It is better to have your own data
because a benchmark from a CompanyA will promote a ProductA, and a benchmark from a CompanyB will
promote a ProductB.Everybody will report that our product isthe best.

SergeyKostrov
Valued Contributor II
141 Views

Quoting zlw
...Any reference? Thank you.


Please take a look at:
http://software.intel.com/en-us/forums/showthread.php?t=102424&o=a&s=lr
and
http://www.open-mag.com/features/Vol_15/IntelC/intelc.htm Note: It is a link to a very old article...

Reply