CPUs and compilers
Dec. 29th, 2013 02:28 amКогда-то давно пробовал относительно свежий интеловский компилятор и не заметил никаких особых улучшений по сравнению со старинной 7-й версией 10-летней давности. Даже по сравнению с MSVC2010 не видно было выигрыша. Оказывается, все дело в том, что тестировал на несвежем процессоре Core 2 Q8200 2008-го года выпуска, а авторы компилятора просто натаскивали его на более современные камни. Сейчас чуть-чуть посравнивал на ноуте с прошлогодним i3-3110M на текущем проекте, где много параллелизованного и векторизованного (SSE2) кода с байтами и float'ами (обработка видео).
Вот FPS на одинаковой обработке одного и того же файла (больше - лучше):
Видно, что
1) производительность одного ядра у процессора заметно выросла,
2) на более современном процессоре код от intel compiler работает заметно шустрее MSVC
3) hyperthreading хоть и дает некоторое ускорение, но совсем небольшое по сравнению с честными ядрами. 4 старых но настоящих ядра лучше, чем 4 новых условных.
Вот FPS на одинаковой обработке одного и того же файла (больше - лучше):
Core 2 Quad Q8200 2.33 GHz | i3-3110M 2.4 GHz 4 real cores | 2 cores * 2 hyperthreads (4 logical CPUs) MSVC2010 Intel XE 13 | MSVC2010 Intel XE 13 1 thread 2.7 2.7 | 3.4 4.0 4 threads 10.5 10.5 | 7.4 9.1
Видно, что
1) производительность одного ядра у процессора заметно выросла,
2) на более современном процессоре код от intel compiler работает заметно шустрее MSVC
3) hyperthreading хоть и дает некоторое ускорение, но совсем небольшое по сравнению с честными ядрами. 4 старых но настоящих ядра лучше, чем 4 новых условных.