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,%
 CINT2000CFP2000
ic50,730,10
ic60,840,60
ic70,520,00


Относительная производительность компиляторов Intel,%
CINT2000msvc6ms.net
ic5100,00100,00
ic699,90100,00
ic7100,42100,21
CFP2000msvc6ms.net
ic5100,00100,00
ic6102,13102,63
ic7103,95103,85

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

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

SPEC CPU20001.11.2
164.gzip928926
175.vpr615614
176.gcc11591157
181.mcf763763
186.crafty10061004
197.parser922925
252.eon10971096
253.perlbmk11631176
254.gap12361232
255.vortex15481548
256.bzip2780779
300.twolf684680
SPECint_base2000960959
SPEC CPU20001.11.2
168.wupwise12761278
171.swim18121811
172.mgrid964964
173.applu10781078
177.mesa989985
178.galgel14771477
179.art742742
183.equake10991099
187.facerec12321230
188.ammp668668
189.lucas14071407
191.fma3d976976
200.sixtrack470469
301.apsi758758
SPECfp_base200010101010

Заключение

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

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

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




6 февраля 2003 Г.