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.
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.
Also, icpc has some attractive parallelism options beyond OpenMP, which it shares with your g++, such as Cilk+.
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.
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.
Please take a look at:
http://www.open-mag.com/features/Vol_15/IntelC/intelc.htm Note: It is a link to a very old article...