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 новых условных.
no subject
Date: 2013-12-28 08:02 pm (UTC)Современный аналог Q8200 (=десктопный за $224) это примерно i5-4670, или из прошлого поколения i5-3570. Кстати у них обоих тоже по 4 ядра.
no subject
Date: 2013-12-28 08:11 pm (UTC)no subject
Date: 2013-12-28 09:28 pm (UTC)+1
Года 2-3 назад перелез на ноут, именно потому шо производительности ноутбуков наконец-то стало хватать на полноценную замену десктопа.
P.S. Тебе ещё повезло, что под руку попался мобильный i3, а не i5/i7 — у последних turbo boost, т.е. пока температура позволяет, умеют разгоняться при однопоточной нагрузке.
Впрочем, даже с твоим i3 я не буду удивлён, если в комнате, охлаждённой до +18C, намеряешь немного больше производительности.
Если в комнате жарко, и вы с intel-компилятором его хорошо загрузили (=сразу все конвейры одного ядра), то даже мобильные i3 вполне способны сбрасывать частоту от перегрева, i3 только быстрее не умеют разгоняццо.
no subject
Date: 2013-12-29 01:48 am (UTC)(это мы решили выяснить как-то, почему Lenovo X220 живет настолько меньше чем мой Vaio Duo 11)
no subject
Date: 2013-12-29 02:14 am (UTC)Lenovo X220 поколения Sandy Bridge (32 nm технология), и там камень для ноутов нормальной толщины (с буквой M в индексе).
Sony Vaio Duo 11 поколения Ivy Bridge (22 nm), и там камень для ультрабуков (с буквой U в индексе).
Ничего удивительного, что ленове нужно намного больше энергии.
no subject
Date: 2013-12-29 06:31 am (UTC)http://ark.intel.com/products/64896/Intel-Core-i5-3320M-Processor-3M-Cache-up-to-3_30-GHz
http://ark.intel.com/products/72054/
одного поколения, оба 22нм, оба двухьядерные, но при этом i7 ниже частоты, TDP, а попугаи одинаковые.
EDIT: пардон! не X220 а X230. i5-3320 и i7-3537U соотв-но.
no subject
Date: 2013-12-29 07:18 pm (UTC)BTW, если в комнате нежарко и нагрузка однопоточная, то по производительности они должны быть почти одинаковые, хотя бы первое время пока не нагреюццо: у них же турбобуст соотв. 3.3GHz и 3.2 GHz, только номинальная частота разная.
Впрочем в реальной жызни оно почти никогда на номинальной не работает, например прям щас при средней нагрузке на CPU примерно 15% оно у меня постоянно скачет между 0.8 и 2.7 GHz, при номинальной 2.3.
Однако несмотря на это, у них не должно сильно отличаться время работы от батареек, если у обоих Win8 то должно быть порядка 6-7 часов у обоих.
Если у леновы сильно меньше, ищи проблему и чини её.
Скорее всего это software, которое жрёт CPU и/или не даёт разным компонентам спать, дрова которые не спят или будят соседей, или какие-то настройки вроде яркости экрана.
Хотя может быть и банальная дохлая батарейка, так и шо-то совсем странное (hardware/UEFI/networking/etc).
no subject
Date: 2014-01-31 10:35 am (UTC)no subject
Date: 2014-01-31 05:13 pm (UTC)В данном конкретном случае он все же дал небольшое ускорение, хоть и нет полной гарантии, что дело именно в нем. Ибо на честных ядрах эта задача порой считается быстрее, когда число потоков вдвое больше, чем число ядер.