SPEC CPU2000: Часть 5 ? Компиляторы. Дополнение 1


После выхода прошлого материала прошло совсем немного времени, но пока мы проводили это большое количество тестов, фирмы успели выпустить новые версии своих продуктов. И, конечно, встал вопрос о том, чем они отличаются по скорости генерируемого кода.

В этом дополнении будут приведены данные по производительности в SPEC CPU2000 компиляторов:

  • Microsoft Visual C++ Compiler из состава Visual Studio .NET (версия 13.00.9466)
  • Intel C/C++/Fortran Compiler 6.0 (подверсии 139/139/140)

Для сравнения используются версии Microsoft Visual C++ 6.0 SP5 и Intel Compilers 5.0.1. Опции оптимизации компиляторов полностью сохранились, напомню, что для Microsoft это -Ox -G6 а для Intel -Qipo -QxW -O3 (версия с SSE2 для Pentium 4). Полные конфигурационные файлы вы можете посмотреть здесь.

Тесты в этот раз проводились на системе:

  • Intel Pentium 4 1.7GHz
  • Epox 4T2A i850 
  • 256MB PC800 RDRAM
  • Windows 2000 Pro SP2

Как мы помним, Microsoft Visual C++ версии 6 показал очень низкие результаты, так что посмотреть на качество нового компилятора безусловно интересно. Однако в версии 13.00.9466 не появилось поддержки SIMD инструкций, а также новых опций оптимизации (напомним, что тест SPEC CPU2000 использует исключительно компиляторы командной строки). Поэтому сильных изменений мы не ждем.

Резкий скачок в номере версии компиляторов от Intel тоже привлекает внимание. Отметим, что наиболее важным новшеством в них стала поддержка OpenMP технологии, а также возможности автоматической оптимизации для SMP архитектур. Видимо, готовится почва для введения Hyper-Threading на настольные ПК :).

Начнем с тестов CINT2000.

Как мы видим по результатам тестов, компании Microsoft удалось значительно повысить качество генерируемого кода. Прирост производительности в подтестах CINT2000 составляет 25–160%. При этом максимальный эффект виден в тесте 252.eon, который, как вы помните, сильно зависит от скорости центрального процессора. Интегральная оценка получила прибавку в 60%. Но одного из своих конкурентов — компилятор от Intel — он пока не догнал :)

С компиляторами Intel менее очевидная ситуация. В семи подтестах есть рост, а в остальных пяти мы видим небольшое снижение показателей. В то время как интегральная оценка осталась практически на месте — рост составил всего 1,26%. Так что констатируем, что сильно хуже не стало :)

В подтестах набора CFP2000 ситуация аналогичная. Microsoft стал значительно быстрее (на 7–96%). Новый компилятор Intel в двух тестах немного впереди, а в двух других есть снижение.

Снова некоторая нестабильность — 4 подтеста в минусе, 10 в плюсе. Отметим рост более 16% в спорном подтесте 178.galgel, где, как вы помните, Compaq Visual Fortran 6.6 обгонял Intel. Интегральная оценка прибавила 2,9%.

Выводы

Последняя версия компилятора C/C++ компании Microsoft значительно опередила своего предшественника, компилятор шестой версии. Пожалуй, ему уже пора на покой :). Приведенные данные немного скрашивают грустные тона первой статьи. Будем надеяться, что и пользователям других продуктов Microsoft с этого тоже что-то перепадет :)

С другой стороны, Intel, также прибавивший единицу к старшему номеру версии, показывает менее значительные изменения. В общем, это можно объяснить тем, что ориентация на OpenMP и  Hyper-Threading привела к существенному изменению в компиляторах. Так что еще хорошо, что обладателям обычных процессоров сильно хуже от этого не стало :)

Видимо, новые тесты систем в программе SPEC CPU2000 мы будем проводить уже с новым компилятором от Intel.




20 июня 2002 Г.

SPEC CPU2000: 5 — . 1

SPEC CPU2000: 5 — . 1

, , . , , , .

SPEC CPU2000 :

  • Microsoft Visual C++ Compiler Visual Studio .NET ( 13.00.9466)
  • Intel C/C++/Fortran Compiler 6.0 ( 139/139/140)

Microsoft Visual C++ 6.0 SP5 Intel Compilers 5.0.1. , , Microsoft -Ox -G6 Intel -Qipo -QxW -O3 ( SSE2 Pentium 4). .

:

  • Intel Pentium 4 1.7GHz
  • Epox 4T2A i850 
  • 256MB PC800 RDRAM
  • Windows 2000 Pro SP2

, Microsoft Visual C++ 6 , . 13.00.9466 SIMD , (, SPEC CPU2000 ). .

Intel . , OpenMP , SMP . , Hyper-Threading :).

CINT2000.

, Microsoft . CINT2000 25–160%. 252.eon, , , .  60%. — Intel — :)

Intel . , . — 1,26%. , :)

CFP2000 . Microsoft ( 7–96%). Intel , .

— 4 , 10 . 16% 178.galgel, , , Compaq Visual Fortran 6.6 Intel. 2,9%.

C/C++ Microsoft , . , :). . , Microsoft - :)

, Intel, , . , , OpenMP   Hyper-Threading . , :)

, SPEC CPU2000 Intel.