2 ядра vs 4 на примере Core 2 Duo/Quad старого и нового поколения
На этот раз для апробации новой методики тестирования мы нарочно выбрали тему одновременно достаточно интересную и актуальную — но достаточно «академическую» и спокойную. В этой статье будет не так много новых процессоров, все четыре участника принадлежат к одному и тому же семейству Intel Core 2, и основные затронутые в данном тестировании вопросы не напоминают спор «кто сильнее?»
Актуальность темы сравнения четырёхъядерников с двухъядерниками нельзя отрицать, так как по состоянию на момент написания статьи цена нижней модели Intel Core 2 Quad (Q6600) вполне попадает под определение «где-то в районе $200». Такой барьер на российском процессорном рынке издавна считался решающей стадией перехода CPU из группы товаров для обеспеченных слоёв населения в группу товаров народных. Соответственно, соблазн приобретения пусть и не очень высокочастотного, но в то же время настоящего четырёхъядерника, даже для рядового потребителя весьма велик. Остаётся выяснить, насколько высока целесообразность такого шага с точки зрения объективных критериев. Понятно, что цена четырёхъядерника будет всё равно выше, чем у аналогичного по ядру и частоте двухъядерника, потреблять электроэнергии будет больше, греться — сильнее. Также четырёхъядернику потребуется более эффективный, а значит, либо дорогой, либо шумный кулер, вполне возможно, более мощный блок питания… словом, если всё вышеперечисленное не компенсируется серьёзным преимуществом в быстродействии — то непонятно, зачем вся это нужна. Выяснением этого вопроса мы и займёмся.
Среди участников всего два относительно новых процессора — Intel Core 2 Duo E7200 на ядре Wolfdale и Intel Core 2 Quad Q9300 на ядре Yorkfield. Интересующимся подробностями данных процессорных ядер мы можем порекомендовать нашу статью про процессор Core 2 Extreme QX9650, в которой описываются отличия ядра Yorkfield от более старого четырёхъядерного ядра Kentsfield. Что касается отличий Wolfdale от Conroe — то они вполне укладываются в приведенное в той же статье описание, за тем единственным исключением, что процессоры эти — двухъядерные.Аппаратное и программное обеспечение
Конфигурация тестовых стендов CPU Mainboard Memory VideoIntel Core 2 Duo E6600ASUS Maximus ExtremeCorsair CM3X1024-1800C7DINGeForce 8800 GTXIntel Core 2 Duo E7200ASUS Maximus ExtremeCorsair CM3X1024-1800C7DINGeForce 8800 GTXIntel Core 2 Quad Q6600ASUS Maximus ExtremeCorsair CM3X1024-1800C7DINGeForce 8800 GTXIntel Core 2 Quad Q9300ASUS Maximus ExtremeCorsair CM3X1024-1800C7DINGeForce 8800 GTX- Объём памяти на стендах: 4 ГБ (4 модуля по 1 ГБ);
- Жёсткий диск: Samsung HD401LJ (SATA-2);
- Кулер: Thermaltake TMG i1;
- Блок питания: Cooler Master RS-A00-EMBA.
* — в многоядерных процессорах — для одного ядра ** — если указано X x Y, подразумевается «X килобайт на каждое из Y ядер» *** — у процессоров AMD — частота шины контроллера памяти **** — у процессоров Intel и AMD указывается по-разному, поэтому сравнивать напрямую некорректно
Программное обеспечение 64-битное приложениеМногопоточное приложение*Microsoft Windows XP Professional SP2++Microsoft Windows Vista Ultimate SP1++Autodesk 3ds max 9 SP2++V-Ray 1.5 SP1++Autodesk Maya 2008 Ultimate++NewTek Lightwave 3D 9.2++SolidWorks 2007 SP0.0++PTC Pro/ENGINEER Wildfire 3.0 M120+—UGS NX5 5.0.0.25++Wolfram Research Mathematica 6++MapleSoft Maple 11—+MathWorks MATLAB 2007++Adobe Photoshop CS3 10.0—+Microsoft Visual Studio 2008++Apache HTTP Server 2.2.8—+PHP 5.2.5—+MySQL Community Server 5.0.51a—+ACDSee 10 Photo Manager—+xat.com Image Optimizer 5.10 ——IrfanView 4.10——XnView 1.93.4——Paint.NET 3.30++7-Zip 4.57++WinRAR 3.71—+UltimateZip 3.2——FLAC 1.2.1——LAME-MT 3.97++Musepack MPC Encoder 1.16——Nero Digital Audio Encoder 1.1.34.2—+Ogg Encoder 2.83 (Lancer)—+Canopus ProCoder 3.0—+DivX Codec 6.8.2—+XviD Codec 1.1.3 Final——x264 Codec rev 807—+VirtualDub 1.8.0—+Call of Duty 4: Modern Warfare (Patch 1.5)—+Call of Juarez (Patch 1.1.0.0) + DX10 Enhancements Pack——Crysis (Patch 1.2)++S.T.A.L.K.E.R. (Patch 1.006)—+Unreal Tournament 3 (Patch 1.2)—+Company of Heroes (Patch 1.71)—+World in Conflict (Patch 1.007)—+* — имеется в виду не сам факт порождения процессом более одного потока, а наличие двух или более одновременно активных потоков в процессе выполнения тестовТестирование
Необходимое предисловие к диаграммамФорма представления результатов в используемой нами методике тестирования имеет две особенности: во-первых, все типы данных приведены к одному — целочисленным относительным баллам (производительность рассматриваемого процессора относительно Intel Core 2 Quad Q6600, если скорость последнего принять за 100 баллов), и, во-вторых, подробные результаты приводятся в виде таблицы в формате Microsoft Excel, в статье присутствуют только сводные диаграммы по классам бенчмарков. Тем не менее, иногда мы будем обращать ваше внимание на подробные результаты, если они того заслуживают.
Профессиональная группа тестов Пакеты трёхмерного моделированияВ этой группе четырёхъядерные процессоры чувствуют себя внешне очень хорошо (преимущество над двухъядерниками впечатляет), но если обратиться к подробным результатам — становится понятнее, откуда оно берётся в среднем балле. Разумеется, за счёт тестов на скорость рендеринга. Ни для кого не секрет, что процесс рендеринга прекрасно распараллеливается на очень большое количество процессоров, и при этом достигаемый прирост близок к идеальному (по 100% на каждое новое ядро). Если обратиться к тестам на скорость интерактивной работы с приложениями для 3D-моделирования — то там, у четырёхъядерников всё не так радужно, и прирост скорости ограничивается цифрами в районе 10%.
CAD/CAM пакетыПрекрасная иллюстрация абсолютной бесполезности 4-хядерных процессоров применительно к рассматриваемому в данной подгруппе ПО. Эффектней не придумаешь: E6600 имеет столько баллов, сколько Q6600, а E7200 — столько же, сколько Q9300. Выбор пользователя очевиден: «скромные» двухъядерники, желательно на новом ядре Wolfdale.
КомпиляцияС одной стороны, нельзя сказать, что разницы между четырёхъядерными и двухъядерными процессорами нет, с другой — она не так велика. Мы отслеживали загрузку процессора во время компиляции данного проекта (а это около 30 минут), и заметили, что моменты, когда задействуются все четыре ядра — достаточно редки и коротки, а паузы между ними, когда реально работает всего одно ядро — наоборот, довольно продолжительны. Однако проект, с точки зрения современного стиля написания программ на C++, довольно типичный — видимо, и особенности его компиляции достаточно типичны.
Профессиональная работа с фотографиямиВторой тест, в котором четырёхъядерные процессоры смогли «разгуляться вволю». В среднем 30% выигрыша дают четыре ядра по сравнению с двумя! Разумеется, кто-то может возразить, что, дескать, в идеале эта цифра должна быть близка к 100%… Однако будем реалистами: на нынешний день, даже 30% — очень хорошая цифра, и очень редкая.
Научно-математические пакетыНаучно-математическое ПО не блещет оптимизированностью под четырёхъядерники: даже если обратиться к подробным результатам, видно, что максимум, который можно получить от дополнительной пары ядер — это прирост производительности порядка 10%.
Веб-серверПоскольку мы используем два бенчмарка, один из которых (PHP Calculator) более ориентирован на многопоточность, другой (PHPSpeed) редко задействует даже два ядра — соответственно, средний балл представляет собой нечто среднее между этими двумя крайностями. Действительно — в PHP Calculator 4-хядерные процессоры получают почти 100% прироста быстродействия, а в PHPSpeed в основном «играет» производительность одиночного ядра как такового.
Общий «профессиональный» баллРазница между двухъядерником и четырёхъядерником в каждой из наших условных соревнующихся пар составила по 10 баллов. С одной стороны, это свидетельствует о том, что плодом случайности или погрешности измерений данный результат однозначно не является. С другой стороны, - 10-11% ускорения в качестве компенсации за удвоение количества ядер — не очень сильно впечатляет… Однако давайте не будем забывать, что общий балл — это не более чем «средняя температура по больнице». Если обратиться к диаграммам с подробными результатами, чётко видны две группы, выделяющиеся на общем посредственном фоне — это программы для 3D-моделирования и профессиональная работа с фото (в лице Adobe Photoshop). В этих группах результаты четырёхъядерников действительно впечатляют. Остальному ПО из нашей «профессиональной группы» четыре ядра, честно говоря, по-прежнему не нужны…
Любительская/домашняя группа тестов АрхиваторыВторая группа тестов, в которой победа нового ядра над старым вызывала у нас сильные сомнения, так как архиваторы, так как и компиляторы, очень любят большой кэш. Однако сомнения оказались напрасными: даже с меньшим объёмом L2, новое ядро Wolfdale/Yorkfield выступило вполне достойно. На диаграмме его представители даже впереди — но не будем забывать, что у них и частота больше. Мы бы сказали, «боевая ничья». Извлечь хотя бы минимальную пользу из четырех ядер способен, похоже, один только WinRAR (см. подробные результаты).
Кодирование медиаданныхСмешной результат: в кодировании медиаданных двухъядерник на новом ядре почти догнал четырёхъядерник на старом! Достаточно красноречивая иллюстрация состояния дел в данном классе ПО. Обращение к таблице с подробными результатами выявляет два кодека, которые с различной степенью успешности, но всё-таки способны задействовать четыре ядра: это DivX (хотя результат мало впечатляет) и x264 (прекрасный результат — почти 2-кратное ускорение при переходе с 2 ядер на 4).
Если посмотреть табличку с подробными результатами, можно достаточно легко выявить основных «чемпионов» истинно многоядерной (не ограничивающейся двумя ядрами) оптимизации. Это две игры: Unreal Tournament 3 (выигрыш четырёхъядерника у аналогичного по характеристикам духъядерника — от 26 до 40 процентов) и World in Conflict (в среднем, у четырёхъядерников 12% выигрыша). Остальные намного скромнее, хотя можно выделить Crysis (в среднем 5% выигрыша у четырёхъядерников) и Call of Duty 4 (почему-то разница между 4- и 2-ядерниками видна только у процессоров со старым ядром). Те 7 баллов преимущества, которые видны на диаграмме со сводным баллом в парах E6600/Q6600 и E7200/Q9300 — заслуга практически исключительно Unreal Tournament 3. Остальные игры загрузить работой процессор с четырьмя ядрами практически не в состоянии.
Любительская работа с фотографиямиЧетырёхъядерники впереди, и если подсмотреть в таблицу с подробными результатами, сразу ясно, почему: превосходная многопоточная оптимизация Paint.NET позволяет в данном тесте четырёхъядерным процессорам выигрывать у двухъядерных чуть ли не в два раза. Однако учтите: во всех прочих приложениях существенной пользы от дополнительных двух ядер не наблюдается.
Общий «любительский» баллВ парах «двухъядерник — двухъядерник» и «четырёхъядерник — четырёхъядерник» мы наблюдаем практически идентичную картину, которая наглядно иллюстрирует преимущество новых ядер над старыми: Q6600 проиграл 6 баллов Q9300, E6600 проиграл 6 баллов E7200. В парах «старый двухъядерник — старый четырёхъядерник» и «новый двухъядерник — новый четырёхъядерник» ситуация полностью аналогичная: и там и там превосходство четырёхъядерников в 9 баллов. Много это или мало? Зависит от того, готовы ли вы заплатить за эти 9 баллов как минимум в полтора раза больше… Единственное, что мы можем уверенно констатировать, так это то, что в «профи»-балле преимущество четырёхъядерников над двухъядерниками на один балл больше, чем в «домашнем». Что, впрочем, не удивительно: тяжёлые задачи любят «тяжёлые» процессоры.
Предположительное энергопотребление** — на самом деле, замеряется не энергопотребление процессора, а энергопотребление VRM на системной плате, поэтому полученные нами значения могут отличаться в большую сторону, так как КПД VRM не равен 100%.
В состоянии покояРезультаты E7200 и Q9300 особенного удивления не вызывают — понятно, что процессоры, произведенные по 45-нанометровой технологии, будут потреблять меньше, чем 65-нанометровые. Однако одно особенно эффектное сопоставление впечатляет: больший по частоте 4-ядерный Q9300 потребляет в состоянии покоя меньше, чем меньший по частоте и к тому же 2-ядерный E6600.
В состоянии 100% нагрузкиСитуация повторяется: четырёхъядерник на новом ядре Yorkfield и под 100% нагрузкой всё равно потребляет меньше, чем двухъядерный Conroe.Заключение
Новое ядро, что очевидно, оказалось существенно шустрее старого. Основными «пострадавшими» в данном случае оказались старые четырёхъядерные процессоры Kentsfield: и так не очень большое количество ПО умеет задействовать все четыре ядра, а тут ещё обновились двухъядерные процессоры, да так, что сравнимый по частоте с четырёхъядерным Kentsfield двухъядерный Wolfdale, оказывается в среднем вполне сравним с ним и по производительности (что такое 3% разницы в производительности при более чем полуторакратной разнице в цене. ) Впрочем, две группы пользователей могут не беспокоиться за свои вложения: те, кто работает с пакетами трёхмерного моделирования и Adobe Photoshop. В этих программах четыре ядра выигрывают у двух практически всегда.
При взгляде на финальную диаграмму, становится очевидно, что радикальным образом ситуация не изменилась: двухъядерные Core 2 (особенно Wolfdale) по-прежнему остаются наиболее разумным выбором в рамках данного семейства, четырёхъядерники имеет смысл брать исключительно под конкретное приложение — при этом будучи на 100% уверенным в том, что данное приложение сможет эффективно задействовать все четыре ядра. И даже привлекательные цены на нижние модели вряд ли могут являться существенным аргументом в пользу выбора четырёхъядерника, если вы не на 100% уверены в том, что его производительность в нужном вам ПО оправдает ваши надежды.
Если вы не тестировали свои конкретные задачи на предмет ускорения от перехода с двух ядер на четыре, и не получили в результате однозначно положительного, весомого ускорения — то, скорее всего, поддавшись на веяния моды, существенного прироста от использования четырёхъядерника вместо двухъядерника, вы сегодня не получите. Общая тенденция на данный момент именно такова. А частности, её опровергающие — именно что частности. Их преимуществами пользуются те, кто вполне определённо знают, что именно они хотят от процессора, и насколько их «любимые» приложения в состоянии его задействовать.
Собственно, если вспомнить недавнее прошлое — такая ситуация была в самом начале триумфального шествия двухъядерных процессоров. Всё повторяется…