It didn't pass much time since the last
article, but while we carried out our numerous tests, the companies managed
to release new versions of their products. And of course, we are interested in
what they differ as far as the generated code rate is concerned.
Today we will test performance of the compilers in the SPEC CPU2000:
- Microsoft Visual C++ Compiler from Visual Studio .NET (version 13.00.9466)
- Intel C/C++/Fortran Compiler 6.0 (subversions 139/139/140)
For comparison we are using Microsoft Visual C++ 6.0 SP5 and
Intel Compilers 5.0.1 versions. The optimization options of the compilers are
all the same: for the Microsoft they are -Ox -G6 and for the Intel they
are -Qipo -QxW -O3 (SSE2's version for the Pentium 4). The complete configuration
files are given here.
This time the tests are carried out on the following stand:
- Intel Pentium 4 1.7 GHz
- Epox 4T2A i850
- 256 MBytes PC800 RDRAM
- Windows 2000 Pro SP2
As you remember, the Microsoft Visual C++ ver.6 showed very low results,
that is why it's quite interesting to look at quality of the new compiler.
However, the ver.13.00.9466 doesn't have SIMD support or any new optimization
options (note that the SPEC CPU2000 test uses only command line compilers).
That is why we don't expect much difference.
A sharp change in the number of the Intel compilers version also attracts
attention. The most important change there is a support of the OpenMP technology
and an automatic optimization for SMP architectures. It seems that they
are working on introducing the Hyper-Threading in desktop PCs :).
Let's start with the CINT2000 tests.
Well, Microsoft managed to improve quality of the generated code very
much. The performance boost in the CINT2000 subtests is 25-160%. The maximum
gain is achieved in the 252.eon which much depends on a CPU speed. The
integer score has increased by 60%. However, it is still behind one of
its competitors - the Intel's compiler :)
As far as the Intel's compilers are concerned, there is some gain in
7 subtests, but in the others the scores got lower. At the same time, the
integer score is almost the same - the gain is only 1.26%.
In the CFP2000 test the situation is similar. Microsoft got much faster
(by 7-96%). The new Intel's compiler is a bit ahead in two tests, and in
the two others the results got lower.
The situation is again ambiguous - 4 subtests got worse and 10 got better.
Note that there is a 16% gain in the 178.galgel subtest, where the Compaq
Visual Fortran 6.6 outpaced the Intel before. The integer score has increased
by 2.9%.
Conclusion
The last version of the C/C++ compiler from Microsoft has aced its predecessor,
the compiler of the ver.6. I hope users of other Microsoft products will
also benefit from it :)
On the other hand, Intel hasn't achieved so significant gain. On the
whole, an orientation toward the OpenMP and Hyper-Threading results in
considerable changes in the compilers. That is why users of usual processors
mustn't feel worse :)
It seems that the new tests in the SPEC CPU2000 will probably be run
with a new compiler from Intel.
Write a comment below. No registration needed!