Phoronix Test Suite, или как тестировать процессоры it-шнику. Часть 1: Intel vs AMD
реклама
Привет, малочисленный народ "клокеров", не потерявший голову от бесконечного потока ругани в комментариях. Отдельное 01101000 01100101 01101100 01101100 01101111 it-шникам, коих тут еще меньше.
В этой статье я попытаюсь рассказать об инструменте тестирования процессоров (как и системы в целом), который почему-то не популярен в RU-сегменте Интернета и YouTube. Причем не популярен он незаслуженно, ибо этот пакет, нет, "пакетище!" тестов очень комплексно показывает производительность ПК: дисковой подсистемы, gpu, оперативки, и конечно CPU.
реклама
Речь сегодня пойдет про автоматизированный пакет тестов Phoronix Test Suite. Этот набор бенчмарков разрабатывался под Linux, но ничего не мешает Вам, особенно тебе 69 74 20 65 6e 67 69 6e 65 65, поставить WSL и посредством bash запустить этот бенч.
Особая фишка в том, что Phoronix Test Suite может: автоматически скачивать пакеты для тестов (и необходимые зависимости), которые ты %username% выберешь, загружать итоговые данные на портал openbenchmarking.org, сохранять результаты в xml и просматривать их в виде красивых графиков в браузере. А еще, Phoronix Test Suite может в мониторинг температуры компонентов системы и измерение потребляемого питания во время тестов, но об этом во второй части.
реклама
В данном тестовом пакете даже искушенный тестировщик найдет все что душе угодно - тесты по компиляции (C++, java, php, python, R, rust...), бенчи по перекодированию аудио и видео данных, разномастные "измерялки" скорости архиваторов, бенчмарки баз данных (SQL, Mongo, Redis...), процессорные "числодробилки", распознавание изображений и даже игровые тесты. Всего и не перечислить!
Ну что, заинтригован %username%? Ставь аниме на паузу, наливай кофе, готовь сэндвичи... Поехали!
Intro
...но сначала небольшое отступление! Пожалуйста, воздержитесь от ругани в комментариях. Этот ресурс и так теряет день за днем свою репутацию. Причем, типичный %username% жалуется что сайт "скатывается", но видимо не осознает, что overclockers - это прежде всего он сам, сидящий перед монитором, читающий, что-то пишущий сюда индивидуум. И чем меньше пользователи сайта будут ввязываться в споры "Intel vs AMD vs Nvidia", чем меньше будут интересоваться косплеями и прочей чепухой, не связанной с тематикой сайта, тем лучше станет ресурс!
Тестовая система
- Intel core i7 9700k @ Stock / AVX offset auto
- Asus Strix Z390-E Gaming
- Corsair DDR4 3200 Mhz@16-18-18-36 (xmp)
- Gigabyte GeForce GTX 1050ti
- Сooler Master V550 Gold
- Arctic Freezer 33 eSports Edition
- Samsung 750 EVO 120GB
- Fractal Design Define C (front = 140mm + 120 mm, back = 120mm )
- OS Ubuntu 19.04 Disco Dingo
реклама
Процессор я решил оставить в стоковом состоянии. "Как? Проц в стоке? На сайте по разгону? Ты что, вообще с ума сошел?", - скажет типичный читатель "оверов", и будет отчасти прав. Но не спешите размахивать шпагами, господа мушкетеры! В среде разработчиков редко кто разгоняет до предела систему. Большее внимание уделяется рабочему процессу, чем "железкам". К тому же, 9700K имеет отличный буст "с завода".
Я запущу пакет с параметром "benchmark 1810170-SK-COREI999026"
(заранее сконфигурированный набор тестов и настроек), который установит более двух десятков тестов различной направленности. На каждом этапе бенчмарк сопоставит результат моего 9700К с результатами процессоров:
- Intel Core i7 8700K
- Intel Core i9 9900K
- AMD Ryzen 7 1700
- AMD Ryzen 7 2700X
- AMD Threadripper 2950X
Все процессоры были в стоке. Память использовалась одна и та же (3200Mhz, Corsair, 16-18-18-36). Бывалый %username% спросит: "Эти модели процессоров, почему выбрал ты, мой юный падаван?" Да потому что именно их я считаю хорошим выбором для рабочей станции современного it-шника.
Внимание! Если ты %username% запустишь тест с вышеуказанным параметром, то он продлится не менее 1,5 часов и временами нагрузка будет очень существенной. Если система выдержит все тесты - считай что она полностью стабильна! No Linx - Yes Phoronix!
реклама
P.S. Да, результаты тестов новых Ryzen уже есть в сети, но в базе openbenchmarking.org пока все скудно. :(
Результаты тестов
Я выложил сюда результаты не всех тестов, также ограничился количеством протестированных моделей CPU. Больше тестов и моделей процессоров по этой ссылке доступны по данной ссылке.
Компиляция, сборка, научные расчеты
Итак, начнем с тестов по компиляции и сборке проекта при работе с различными языками программирования. Забегая вперед скажу, что тут "решает" быстрый "однопоток" и подсистема памяти, но не во всех тестах.
Go Benchmark - показывает производительность процессора при работе с языком Go. Язык компилируемый, со строгой типизацией. Test: json - парсинг json файла, в нем нагрузка распределяется на все ядра/потоки. Test: build - компиляция проекта, нагружается один-два потока.
Один из тестов Java. Комплексная нагрузка на память и процессор. Из-за более высокой частоты на одно ядро и большего кэша 9900К вырывается в лидеры. Threadripper смотрится неплохо. Приятно удивил 8700К.
Пожалуй, один из самых важных тестов для программистов - Linux Kernel Compilation или компиляция ядра Linux. Данная задача отлично "параллелится", но даже в таком режиме 12 потоков не могут победить 8 быстрых физических ядер без НТ.
Комплексная нагрузка при просчете фрактала Мандельброта в последовательном и параллельном режимах при помощи Rust - мультипарадигменного компилируемого языка программирования, который по скорости порой не уступает C++ (при прямых руках конечно)
Ну и "на закуску" - еще парочка бенчмарков для веб-разработчиков, работающих с PHP и Python. Как я отмечал выше - здесь "рулит однопоток", поэтому результат налицо.
LLVM - это универсальная система анализа, трансформации и оптимизации программ, реализующая виртуальную машину с RISC-подобными инструкциями. Используется как оптимизирующий компилятор байткода в машинный код для различных архитектур, JIT-компиляции и многого другого. Данный тест на базе LLVM загружает все потоки процессора.
Следующий тест задействует 1 поток. Это тест Himeno - линейный "решатель" давления Пуассона, использующий точечный метод Якоби (знаменитый немецкий математик). Так как в расчетах используются числа с плавающей точкой (или запятой, кому как удобнее...), то из-за архитектурных особенностей Ryzen результат был предсказуем. Подробнее почитать про "эти особенности" можно тут и здесь.
Знаменитая "шахматная решалка" Stockfish любит многоядерные процессоры. Неожиданностью стал для меня отрыв 9700К от 8700К. По параметру цена/производительность тут у Ryzen 2700X нет конкурентов. Хотелось бы отметить, что этот шахматный движок поддерживает до 512 потоков!
Общая производительность CPU
Далее мы "пройдемся" по тестам, которые покажут производительность CPU в задачах, более распространенных в среде простых пользователей (за исключением BRL-CAD, это все таки тест больше для инженеров).
Мультимедийный бенчмарк - перекодирование несжатых аудиоданных из WAV во FLAC. Бенч выполняется в один поток, поэтому результат предсказуем.
Работа с изображениями - декомпрессия jpeg. Выполняется в один поток. 1700-ому приходится тяжело...
BRL-CAD - это тест, который комплексно проверяет производительность процессора, памяти, когерентности кэша и многих других параметров. Моделирование твердых тел, просчет сложной геометрии, трассировка лучей - чего тут только нет. Репрезентативный бенч - любит многопоток и иногда не гуншается использовать AVX.
Далее рассмотрим пару тестов, отображающих производительность CPU при работе c 3D.
Рендер GPL 3D, который поддерживает OpenMP и Intel Threading Building Blocks с множеством различных режимов рендеринга.
IndigoBench - это неплохой тест, основанный на продвинутом механизме рендеринга Indigo 4, который позволяет измерить производительности современных процессоров в мультипотоке.
В качестве бонуса выложу 2 процессорных теста - "ломалки паролей". Первый из них - John the Ripper на алгоритме Blowfish. Тест отлично "дружит с многопотоком", поэтому господство 2950X закономерно.
Второй тест называется Airckrack-ng. Он предназначен: для обнаружения беспроводных сетей и перехвата их траффика (сниффер), а также для проверки стойкости ключей шифрования WEP и WPA/WPA2-PSK. В отличии от прошлого теста тут важно преимущество процессора по IPC, а также быстрая память и кэш.
Итак, если тебе %username% нравится сериал "Мистер Робот" и вообще ты "крутой хацкер", то ты теперь знаешь какой процессор покупать :)
Outro
Каюсь, я не стал вставлять сюда все данные тестов (знатная бы простыня получилась), так как некоторые из них отказались устанавливаться в автоматическом режиме, и мне пришлось доставлять их вручную, например:
- RBenchmark - специфический тест по языку R, который используют Data Scientists.
- CryptoSetup - очередная криптосчиталочка.
... и многие другие. Все результаты тестов можно посмотреть перейдя по данной ссылке.
Что же касается результатов тестирования, то навязывать свое мнение я никому не буду, пусть каждый сам сделает свои выводы, ведь все данные перед глазами. Тем более, что целью статьи ставилось не столько сравнение процессоров, сколько предварительное ознакомление читателя с тестовым пакетом Phoronix.
Post Scriptum
Во второй части статьи я сделаю больше тестов по компиляции, тех что просили в комментариях: С++, Gradle, Chrome (webkit-build), а также добавлю: сборку NodeJS, пару тестов по PHP и Apache, а также бенчмарки по базам данных: SQL Lite, PostgreSQL, MongoDB и возможно Redis, применяемый в качестве кэширующего слоя при работе с БД.
Но лейтмотивом второй части статьи станет: рассказ об установке и настройке Phoronix Test Suite в Linux и Windows, решение некоторых проблем и тонкости использования. Я постараюсь сделать своеобразный User Guide, чтобы каждый желающий местный блогер, или ты - %username% смог разносторонне протестировать свою систему и получить на выходе удобоваримые данные.
Если у Вас есть какие-либо вопросы или замечания - спрашивайте в комментариях, постараюсь ответить всем.
С уважением,
CodeFOX
реклама
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила