SPEC CPU2000. Часть 8. Новые версии теста и компиляторов.


Буквально месяц назад компания Intel представила новые версии своих компиляторов и многих интересует вопрос их относительной производительности. Кроме того мы уже давно собирались перейти с использования устаревшего (конечно скорее морально) компилятора MSVC 6 на новый Visual.NET.

Да и сам тест SPEC CPU2000 (правда еще в конце 2001 года :) сменил номер версии с 1.1 на 1.2. Так что в этом материале мы рассмотрим все эти новшества и заодно подготовимся к работе в 2003 году.

Итак, вспомним, что у нас есть:

  • серия iXBT.060202.*: MSVC 6 SP5 и компиляторы Intel версии 5.
  • серия iXBT.060602.*: MSVC 6 SP5 и компиляторы Intel версии 6.

В каждой серии есть варианты по наборам SIMD: без них, с MMX, с SSE и с SSE2. Каждый процессор обычно тестируется на максимальном для него наборе SIMD. В частности в этой статье все тесты использовали SSE2.

Сегодня мы добавляем к компиляторам Intel Compiler 7.0 (как для C/C++ так и для Fortran). Кроме того вместе с MSVC 6 SP5 попробуем использовать для библиотек (собственно компилятор MSVC не используется) новую версию студии — Microsoft Visual.NET.

Итого по компиляторам у нас получается 6 комбинаций. Все они были протестированы на ПК следующей конфигурации:

  • процессор Intel Pentium 4 2.53 ГГц (FSB 533, L2 512K)
  • материнская плата ASUS P4T533 (i850E)
  • модуль памяти Samsung RDRAM PC4200 512МБ

Выбор остальных компонент для тестов SPEC CPU2000 не важен. Об этом Вы можете узнать здесь.

Система работала под управлением Windows 2000 Pro SP3. Сначала все конфигурации были скомпилированы (с парой переустановок ОС). После этого система еще раз была установлена заново и запускались тесты (напомню, что SPEC CPU2000 не использует никаких системных файлов, так что между отдельными тестами переустанавливать ОС не обязательно).





В целом мы видим некоторый рост результатов при изменении версий в большую сторону, но он все-таки незначителен:

Прирост при переходе с MSVC6 SP5 на MS Visial.NET,%
  CINT2000 CFP2000
ic5 0,73 0,10
ic6 0,84 0,60
ic7 0,52 0,00


Относительная производительность компиляторов Intel,%
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

Отметим, что мы привели интегральные показатели. Если посмотреть на результаты отдельных тестов, то можно увидеть и большую разницу. В частности переход на Visual.NET дает в двух подтестах CINT2000 рост порядка 5%, а в CFP2000/183.equake рост составляет более 13%. В то же время для CFP2000/188.ammp наоборот наблюдается снижение результата почти на 7%.

Что касается изменения версии самого теста с 1.1 на 1.2, то это выражается в поддержке нескольких новых операционных систем и поправках в исходных текстах тестов для улучшения совместимости с различными компиляторами. Когда мы работали над этой статьей, у нас были некоторые проблемы с компиляцией тестов под Linux, которые разрешились после изучения новых версии тестов. Таким образом это сравнение носит формальный характер (конфигурация iXBT.060602.sse2.cfg).

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

Заключение

Итак, можно сказать, что мы получили два интересных результата.

Во первых новые компиляторы дают небольшой рост интегральных оценок. Так что если вам важен каждый процент (или даже полпроцента :) производительности, то безусловно стоит попробовать седьмую версию компиляторов от Intel в паре со средой Microsoft Visual.NET. Отметим, что на одном конкретном приложении рост может составлять 5 и более процентов. Примеры есть :)

С другой стороны разница настолько мала, что мы вполне можем использовать в будущем только новые компиляторы и сравнивать результаты с данными, полученными в прошлом году на старых конфигурациях. То же самое относится и к версии теста SPEC CPU2000.




Дополнительно

iXBT BRAND 2016

«iXBT Brand 2016» — Выбор читателей в номинации «Процессоры (CPU)»:
Подробнее с условиями участия в розыгрыше можно ознакомиться здесь. Текущие результаты опроса доступны тут.

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.