Intel C/C++ compiler vs. GNU gcc/MS Visual Studio
the_real_tigga writes "OpenMag features a benchmark review of the Intel C/C++ compiler as opposed to gcc on linux and Microsoft Visual Studio compiler on Windows XP. Not surprisingly (for me at least), icc beats them both, with dramatic performance improvements. Too bad they chose to review gcc version 2.95, and not the 3.x series, which is known to produce faster code. What is surprising, even AMD CPUs benefit from the icc-compiled code. There is another version of the article here,
and they provide a download of the used tools , so you can try it at home too!"
It would be nice to see the same comparisons but with compilers that aren't over 3 years old.
I'm guessing icc beats the others mainly on instruction scheduling. In other words, Intel has put a lot of effort into generating code that is parallelizable by spreading out close instructions to different pipelines.
Since AMDs chips are pipelined, they are likely to benefit even if the pipelines aren't exactly the same.
GCC 2.95??? in 2003???
what are these guys thinking? i mean, it may have been the compiler that came with the Suse 7.3 they were using, but still. Suse is on 8.1 now which does ship with gcc 3.2.
No, the intel compiler has been able to successfully compiler the kernel for the past two versions (7 & 6). Check out the recent discussion on the kernel mailing list/ kernel /0301.2/0846.html
http://www.uwsg.indiana.edu/hypermail/linux
Now we just need Spike ported from the alpha.
re:
Doesn't gcc also have the same property when running under Linux or windows? (for the OS-independant parts of your code, obviously)
Although the main thrust of the article is to compare the new intel compiler to gcc and visual studio, they are also talking about comparing performance accross platforms - their initial comparison is gcc on Linux vs Visual Studio on Windows (no mention of what optimizations are performed, what other service are running, what nice levels the programs are executed at, whether they are measuring user cpu time or total execution time, and so on)
It would be nice to see tests varying each of these variables individually, or showing all the possible combinations:
On a (big) plus point - this article does at least show us some error margins on their measurements (none of this "Graphics card A lagged behind with a mere 47.6, but graphics card B stormed ahead with a score of 47.7" nonsense which seems to be all too common in most reviews)
GCC 3.2.x vs. Intel C++ 7 would have been interesting. This just isn't.
e l_gcc_bench2.html
Go here for GCC 3.2 vs. Intel 7 information:
http://www.coyotegulch.com/reviews/intel_comp/int
GCC has done quite a bit to catch up.
Legalize the constitution. Think for yourself question authority.