we use the 9.1.045 on a machine with two 5148 Woodcrest CPUs. The sole
purpose of this compiler is to compile a highly optimized
Perl-Interpreter. We have experienced good results with icc on the P4
architecture, where it gave us about 30% better results than the gcc
3.3 (which itself gave us about 15% better results than gcc 4.1.x !).
However, on the Core 2 Duo CPUs we experience a performance loss of about 12% when compiling with icc 9.1 compared to gcc 4.1.
After compiling the Perl Interpreter, we benchmark it with perlbench
(see http://search.cpan.org/dist/perlbench/), and so far we got these
compiler + Options Performance in %
gcc 4.1 -O2
icc 9.1 -O2 -xT
icc 9.1 -O2 -xT -ipo --- doesn't compile
icc 9.1 -O2 -xT -ip 92
icc 9.1 -O2 -xT -parallel 87
icc 9.1 -O2 -xT -ip -parallel 92
It is interesting to see, that -parallel doesn't seem to give any performace advantage
all values are +/-2 % exact, so even the -O2 -xT -ip performs in best case 6% slower than the gcc 4.1
We do not need this binary to run on any other architecture. Just Core
2, but we also tried options such as -mtune=pentium4, but this tends to
generate even slower code.
All in all it appears that the icc 9.1 cannot handle the Core2 Duo
quite well yet. Anyone made similar experience? Despite the failure of
the IPO, we're trying
to generate a PGO optimized binary and will report the results later.
Adam Novotny - PetaMem R&D