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.