A month ago Intel announced new versions of its compilers and many are
now interested in their relative performance. Besides, we were going to
move to the new compiler Visual.NET from the obsolete MSVC 6 long ago.
The SPEC CPU2000 benchmark also changed its version number (though it
was yet at the end of 2001 :) from 1.1 to 1.2. That is why today we will
have a look at all these news and get prepared for work in 2003.
So, let me remind you what we already have:
-
Series iXBT.060202.*: MSVC 6 SP5 and Intel Compilers ver.5.
-
Series iXBT.060602.*: MSVC 6 SP5 and Intel Compilers ver.6.
Each series has versions regarding SIMD: without them, with MMX, with SSE
and with SSE2. Each processor is usually tested on the maximum for it SIMD
set. In particular, today all the tests used SSE2.
Today we add the Intel Compiler 7.0 (both for C/C++ and for Fortran).
Besides, together with the MSVC 6 SP5 we will try to use for libraries
(the MSVC compiler is actually not used) a new studio version - Microsoft
Visual.NET.
So, we have 6 combinations of compilers. All of them were tested on
the following PC configuration:
-
Intel Pentium 4 2.53 GHz (FSB 533, L2 512K)
-
ASUS P4T533 (i850E) mainboard
-
Samsung RDRAM PC4200 512MB memory
Other components are not important for the SPEC CPU2000 tests. It can learn
about it here.
The system ran under the Windows 2000 Pro SP3. First all the configurations
were compiled (the OS was rebooted several times). After that the system was again
reinstalled and the tests were started (note that the SPEC CPU2000 doesn't use
any system files, that is why it's not necessary to reinstall the OS between separate
tests).
On the whole, the scores are higher in the newer version, but inconsiderably:
Growth after the transition from MSVC6 SP5 to MS
Visial.NET,% |
|
CINT2000 |
CFP2000 |
ic5 |
0.73 |
0.10 |
ic6 |
0.84 |
0.60 |
ic7 |
0.52 |
0.00 |
Relative performance of the Intel's compilers,% |
CINT2000 |
msvc6 |
ms.net |
ic5 |
100.00 |
100.00 |
ic6 |
99.90 |
100.00 |
ic7 |
100.42 |
100.21 |
CFP2000 |
msvc6 |
ms.net |
ic5 |
100.00 |
100.00 |
ic6 |
102.13 |
102.63 |
ic7 |
103.95 |
103.85 |
These are the integral scores. If you look at the results of the separate tests,
you will notice a greater difference. In particular, the transition to the Visual.NET
comes to about 5 % in two subtests of CINT2000 and in CFP2000/183.equake the growth
is over 13%. At the same time, for the CFP2000/188.ammp the scores fall down by
almost 7%.
As to the new version 1.2, it supports several new operating systems
and has corrections in the sources for better compatibility with various
compilers. When we worked on this
article, we had some problems with the benchmarks compilation for Linux
which were resolved with the newer benchmark versions. So, this comparison
is just formal (iXBT.060602.sse2.cfg configuration).
SPEC CPU2000 |
1.1 |
1.2 |
164.gzip |
928 |
926 |
175.vpr |
615 |
614 |
176.gcc |
1159 |
1157 |
181.mcf |
763 |
763 |
186.crafty |
1006 |
1004 |
197.parser |
922 |
925 |
252.eon |
1097 |
1096 |
253.perlbmk |
1163 |
1176 |
254.gap |
1236 |
1232 |
255.vortex |
1548 |
1548 |
256.bzip2 |
780 |
779 |
300.twolf |
684 |
680 |
SPECint_base2000 |
960 |
959 |
SPEC CPU2000 |
1.1 |
1.2 |
168.wupwise |
1276 |
1278 |
171.swim |
1812 |
1811 |
172.mgrid |
964 |
964 |
173.applu |
1078 |
1078 |
177.mesa |
989 |
985 |
178.galgel |
1477 |
1477 |
179.art |
742 |
742 |
183.equake |
1099 |
1099 |
187.facerec |
1232 |
1230 |
188.ammp |
668 |
668 |
189.lucas |
1407 |
1407 |
191.fma3d |
976 |
976 |
200.sixtrack |
470 |
469 |
301.apsi |
758 |
758 |
SPECfp_base2000 |
1010 |
1010 |
Conclusion
So, we have two interesting results.
First of all, with the new compilers the integral scores grow up. If
every per cent of performance is vital for you, you should certainly try
the 7th version of the Intel's compiler together with the Microsoft Visual.NET.
Note that the performance can increase by 5% and over on one application
only.
On the other hand, the difference is so slight that in future we will
be able to use only new compilers and compare the scores with those obtained
last year on the old configurations. It also refers to the SPEC CPU2000
version.
Write a comment below. No registration needed!