- О превосходстве Apple M1 Pro над флагманами AMD и Intel
- реклама
- Кратко о Pro и Мах версиях
- реклама
- реклама
- Apple M1 Pro в синтетике
- реклама
- Apple M1 Pro vs Ryzen/Intel в реальных задачах
- Тесты в видеоиграх
- Потребление энергии
- Итоги
- Бенчмарки Apple M1 в реальной разработке
- Тестовое окружение
- Java Renaissance
- Java SciMark 2.0 (NIST)
- Java DaCapo
- Python PyPerformance
- Go (golang.org/x/бенчмарки)
- Go (golang-benchmarks)
- SQLite Bench
- Redis
- JavaScript Web Tooling Benchmark (v8)
О превосходстве Apple M1 Pro над флагманами AMD и Intel
реклама
Все начиналось с iPad Pro. Когда был выпущен этот девайс многие не верили в показатели синтетических тестов Geekbench. Поразительной мощи мобильный чип уже приближался к уровню довольно сильных игровых ПК. Но тогда никто не беспокоился об этом. Поворотным моментом стало решение самой богатой корпорации в мире Apple прекратить сотрудничество с Intel и AMD. Оказывается, яблочной организации не нужны топовые процессоры i9 и дискретные видеокарты Radeon. В 2020 году был представлен чип начального уровня М1. Он показывал невероятный уровень производительности, но все еще не дотягивал до флагманских десктопных решений.
Обновленная версия М1 Pro, M1 Max превосходит самые дорогие ноутбуки на х86 процессорах в 90% случаев. В статье рассмотрим разные сценарии: синтетические тесты, архивация, компиляция кода, кодирование видео, накладывание эффектов и прочее. В большинстве тестов М1 «втаптывает в землю» Ryzen 9, Intel i9 последних поколений.
Кратко о Pro и Мах версиях
реклама
Обновленные чипы получили большее количество процессорных ядер и значительное усиление графического адаптера – доступны модификации на 16 и 32 GPU cores. Стоит отметить унифицированную пам’ять, которая используется как в качестве ОЗУ, так и для графического чипа.
Цены не маленькие, но не выше чем Apple выпускала свои продукты на Intel. Но в этом поколении пользователи получают невероятную производительность в сравнении с лучшими х86 аналогами.
реклама
Стоимость схожих по мощности ноутбуков на AMD/Intel не сильно отличается. Еще недавно это казалось не возможным: пользователь получает тонкий и автономный ноутбук премиального класса, который оказывается производительней любых более громадных и конкурентов, живущих от батареи в 3-10 раз меньше.
Apple M1 Pro в синтетике
В данном сравнении приведены результаты тестирования чипа M1 Pro, который имеет идентичную M1 Max производительность центрального процессора. Старшая модель отличается усиленным графическим ускорителем и поддержкой до 64Гб памяти. Но даже M1 Pro с легкостью обходит конкурентов в большинстве сценариев.
Флагманский ноутбучный чип AMD Ryzeon 9 5900HX не дотягивает до показателя нового ARM детища от Apple. О Ryzen 5, 7 серии говорить нет смысла – они находятся почти на одном уровне с бюджетным М1 2020 года.
реклама
Однопоточная производительность решает в большинстве типичных задач офисного характера и это тест приблизительно отражает скорость обработки скриптов в браузере, файловых документов и прочее. Флагманский камень i9-11980HK лишь на несколько баллов обходит конкурента (теперь уже мобильные чипы Apple можно смело называть конкурентами самых дорогих процессоров Intel/AMD.
Apple M1 Pro vs Ryzen/Intel в реальных задачах
Обработка видео с помощью центрального процессора отражает немного иную ситуацию. Это редкий случай, где M1 Pro уступает многопоточным процессорам Ryzen.
В Blender 2.9x «айпадовский» процессор опять опережает Ryzen 9 5900HX при рендере на CPU. Intel i7 10 и 11 поколений и вовсе находятся вне конкуренции. Видимо рассказы на презентации о тотальном превосходстве над Intel не были излишними.
Этот тест крайне актуальный для программистов. М1 компилирует код на 65% быстрее Ryzen 9 5900HX и i9-11980HK. А еще говорят в народе: «время не купишь».
Математические вычисления не проходят так гладко. Оптимизация программы хромает и в результате M1 Pro оказывается на уровне i7-1165G7, перевес над которым в других тестах достигает двух- или трехкратных значений.
Работа в офисных приложениях с M1 Pro находится приблизительно на том же уровне, что и Ryzen 9 5980HS, i7-10870H. Новинка Apple немного уступила Intel Core 11 поколения.
Еще один тест, где Apple не оставляет шансов своим х86 конкурентам. 10 ядерный мобильный чип с легкостью обходит 16 поточные флагманы AMD Ryzen 9. Разница в скорости обработки данных достигает почти двукратного значения в сравнении с топовым APU Ryzen 7 5700U.
Конвертация PDF файлов в PNG формат занимает меньше всего времени на «улучшенном iPad’овском процессоре». М1 Pro прилично быстрее всех флагманов Intel/AMD.
Есть и вовсе неоптимизированные программы, которые работают ужасно на новом чипе. Подобное было на релизе М1 в 2020 году, но большинство разработчиков кинулись оптимизировать свой софт для перспективного рынка Mac OS.
PugetBench в Adobe Premiere Pro 2022 снова расставил все на свои места. М1 Pro не оставляет шансов умирающей х86 архитектуре.
В значении ‘Export Score’ новинка немного проигрывает, но этот тест очень показательный и демонстрирует, что даже не флагманский M1 Pro на 5-10% медленнее обрабатывает видео чем комбинация из самого мощного ноутбучного процессора и дискретной видеокарты RTX3070. При этом потребление энергии до двух раз меньше. Учтите, это M1 Pro, а не флагманский M1 Max, в котором графический ускоритель в 2 раза мощнее.
Воспроизведение видео при обработке показывает уже типичную картину – M1 Pro быстрее всех х86 аналогов с RTX видеокартами.
Тест Gigapixel AI позволяет х86 процессорам урвать первенство с преимуществом до 15-20%.
Тесты в видеоиграх
В Shadow of the Tomb Raider 16 ядерный графический чип M1 Pro оказывается немного медленнее RTX3050. Стоит учитывать сырую оптимизацию и возможную несовместимость новых Apple с Windows играми. Можно предположить, что флагман M1 Max будет как минимум на уровне десктопной RTX2060 или ноутбучной RTX3060.
В Metro: Exodus новинка легко обходит Core i7-11800H с RTX3050.
Потребление энергии
При максимальной нагрузке потребление энергии в среднем составляет 40Вт. Невероятный показатель для звания самого производительного сверхтонкого ноутбука в мире.
Итоги
У компании Apple достаточно денег, чтобы выкупить AMD, Intel и NVIDIA вместе взятых, но антимонопольный комитет не позволит провернуть подобное. Это и к лучшему. Эти деньги организация вкладывает в разработку собственных чипов. Фирма выделяет средств больше чем любая другая корпорация в этом направлении.
Не удивительно, что рынок в итоге получил самые производительные ноутбучные процессоры в мире с минимальным тепловыделением. Apple на этом не останавливается и готовится к завоеванию рынка десктопных компьютеров.
Учитывая темпы развития, невероятный потенциал и оптимизацию у них есть все шансы в ближайшие 5-10 лет в прямом смысле отправить в анналы истории все достижения Intel, AMD и NVIDIA.
Источник
Бенчмарки Apple M1 в реальной разработке
Я очень впечатлён результатами тестов Apple M1. Это действительно быстрый и мощный чип в важных повседневных задачах, таких как просмотр веб-страниц, работа с приложениями x86 и инструментами разработчика. Да, экосистема ещё не развита, и это может занять некоторое время, но эта работа стоит того, с учётом феноменальной производительности M1.
М1 действительно быстрый, и многие бенчмарки доказали его эффективность. Однако мне было любопытно посмотреть на производительность языков программирования. Поэтому я решил протестировать чип в самых популярных рабочих нагрузках в разработке.
Следует иметь в виду, что некоторые наборы тестов нагружают память, другие зависят от производительности CPU, а в некоторых задачах нет преимущества от многоядерной обработки из-за накладных расходов или сложности использования многопоточности. Это означает, что M1 может показать лучший результат, чем десктопный Ryzen даже с меньшим количеством ядер. Самое главное, что я сосредоточился на тестах реальных задач разработки, а не на синтетических тестах продакшна.
Исходные данные бенчмарка здесь.
Примечание: количество ядер 3900X бесполезно для тестов, которые не показывают реальную производительность в продакшне. Но сами разработчики большую часть времени работают на ноутбуках, настольных компьютерах и т. д., поэтому такие тесты имеют смысл. Конечно, в продакшне Ryzen 3900X будет работать намного лучше, чем M1 и Intel, в основном, за счёт распараллеливания.
Тестовое окружение
Java Renaissance
Чем меньше, тем лучше
Renaissance — это современный, открытый и диверсифицированный набор тестов для JVM, направленный на тестирование JIT-компиляторов, сборщиков мусора, профайлеров, анализаторов и других инструментов.
Поскольку JVM требует большого объёма памяти, а память является одним из главных узких мест для любых Java-приложений, производительность Apple M1 ошеломляет по сравнению с Ryzen 3900X.
Java SciMark 2.0 (NIST)
Чем больше, тем лучше
SciMark 2.0 — это Java-бенчмарк для научных и численных вычислений. Он замеряет производительность нескольких вычислительных ядер и сообщает сводную оценку в приблизительных мегафлопсах (миллионы операций с плавающей запятой в секунду).
Java DaCapo
Чем меньше, тем лучше
Тестовый набор DaCapo состоит из набора опенсорсных приложений реального мира с нетривиальной загрузкой памяти.
Python PyPerformance
Чем меньше, тем лучше
Проект PyPerformance должен служить авторитетным источником бенчмарков для всех реализаций языка Python. Основное внимание уделяется реальным, а не синтетическим бенчмаркам. Где возможно, используются полные приложения.
Go (golang.org/x/бенчмарки)
Чем меньше, тем лучше
Обратите внимание, что в этом бенчмарке Go использует все ядра.
Go (golang-benchmarks)
(Единицы измерения: наносекунд на операцию, чем меньше, тем лучше)
Apple M1 (Mac Mini) | Apple M1 (MacBook Air) | Ryzen 3900X | Intel i7-9750H | |
---|---|---|---|---|
BenchmarkBase64decode-24 | 68,65 | 69,77 | 137,1 | 103 |
BenchmarkBase64regex-24 | 12001 | 12001 | 32803 | 18255 |
BenchmarkNumberRegEx-24 | 7759 | 7931 | 23379 | 12206 |
BenchmarkFulltextRegEx-24 | 6388 | 6388 | 18627 | 10014 |
BenchmarkNumberParse-24 | 48,69 | 50,19 | 66,83 | 58 |
BenchmarkFulltextParse-24 | 726,3 | 726,3 | 933,2 | 839 |
BenchmarkConcatString-24 | 21949 | 22810 | 65498 | 43343 |
BenchmarkConcatBuffer-24 | 4,338 | 4,648 | 6,258 | 6,24 |
BenchmarkConcatBuilder-24 | 2,37 | 3,1 | 2,934 | 3,02 |
BenchmarkContains-24 | 5,007 | 5,204 | 7,467 | 7,94 |
BenchmarkContainsNot-24 | 6,322 | 6,322 | 7,693 | 8,9 |
BenchmarkContainsBytes-24 | 5,33 | 5,511 | 7,5 | 8,49 |
BenchmarkContainsBytesNot-24 | 6,57 | 6,773 | 9,188 | 10,3 |
BenchmarkCompileMatch-24 | 70,66 | 75,09 | 110,1 | 83 |
BenchmarkCompileMatchNot-24 | 31,65 | 32,08 | 62,42 | 42,1 |
BenchmarkMatch-24 | 800,2 | 804,6 | 2376 | 1313 |
BenchmarkMatchNot-24 | 758,1 | 779,3 | 2311 | 1262 |
BenchmarkForMap-24 | 18,89 | 18,92 | 20,37 | 20,6 |
BenchmarkRangeMap-24 | 47,66 | 48,59 | 53,25 | 56,7 |
BenchmarkRangeSlice-24 | 3,446 | 3,47 | 2,022 | 3,4 |
BenchmarkRangeSliceKey-24 | 4,072 | 4,121 | 2,906 | 3,15 |
BenchmarkAdler32-24 | 699 | 719,4 | 644,4 | 700 |
BenchmarkBlake2b256-24 | 2340 | 2415 | 2026 | 1932 |
BenchmarkBlake2b512-24 | 2343 | 2400 | 1985 | 1945 |
BenchmarkBlake3256-24 | 5753 | 5854 | 2489 | 2634 |
BenchmarkMMH3-24 | 374,3 | 383,2 | 294 | 377 |
BenchmarkCRC32-24 | 255,5 | 260,4 | 152,9 | 122 |
BenchmarkFnv128-24 | 4468 | 4502 | 5540 | 4210 |
BenchmarkMD5-24 | 3193 | 3211 | 2464 | 2534 |
BenchmarkSHA1-24 | 900,4 | 910,9 | 1898 | 1961 |
BenchmarkSHA256-24 | 913,5 | 927,6 | 4016 | 4525 |
BenchmarkSHA512-24 | 6999 | 7033 | 2883 | 3249 |
BenchmarkSHA3256-24 | 4213 | 4231 | 5957 | 5878 |
BenchmarkSHA3512-24 | 7329 | 7429 | 10233 | 10394 |
BenchmarkWhirlpool-24 | 32042 | 32624 | 35714 | 39205 |
BenchmarkMapStringKeys-24 | 68,14 | 70,66 | 87,62 | 100 |
BenchmarkMapIntKeys-24 | 43,6 | 48,49 | 42,51 | 60 |
BenchmarkJsonMarshal-24 | 1240 | 1261 | 2258 | 1720 |
BenchmarkJsonUnmarshal-24 | 4969 | 5102 | 9597 | 6484 |
BenchmarkMathInt8-24 | 0,3128 | 0,3235 | 0,2298 | 0,24 |
BenchmarkMathInt32-24 | 0,3145 | 0,3166 | 0,2324 | 0,239 |
BenchmarkMathInt64-24 | 0,3131 | 0,3158 | 0,2367 | 0,237 |
BenchmarkMathAtomicInt32-24 | 6,9 | 6,965 | 4,02 | 4,33 |
BenchmarkMathAtomicInt64-24 | 6,898 | 7,051 | 4,044 | 4,27 |
BenchmarkMathMutexInt-24 | 13,51 | 13,63 | 8,118 | 12,1 |
BenchmarkMathFloat32-24 | 0,3142 | 0,3142 | 0,3142 | 0,241 |
BenchmarkMathFloat64-24 | 0,313 | 0,313 | 0,313 | 0,239 |
BenchmarkParseBool-24 | 1,427 | 1,43 | 0,2252 | 0,308 |
BenchmarkParseInt-24 | 10,97 | 11,15 | 11,84 | 13,5 |
BenchmarkParseFloat-24 | 64,52 | 65,74 | 90,89 | 87 |
BenchmarkMathRand-24 | 13,55 | 13,55 | 17,27 | 21,5 |
BenchmarkCryptoRand-24 | 106,6 | 112 | 1311 | 145 |
BenchmarkCryptoRandString-24 | 107,6 | 110,7 | 222 | 138 |
BenchmarkMatchString-24 | 4957 | 5148 | 13869 | 7616 |
BenchmarkMatchStringCompiled-24 | 475,5 | 496,2 | 499,2 | 464 |
BenchmarkMatchStringGolibs-24 | 479,3 | 496,3 | 491,3 | 480 |
SQLite Bench
Чем меньше, тем лучше
Redis
Чем больше, тем лучше
JavaScript Web Tooling Benchmark (v8)
Чем больше, тем лучше
V8 Web Tooling Benchmark — это набор тестов для измерения рабочих нагрузок JavaScript в веб-разработке, таких как основные рабочие нагрузки в популярных инструментах вроде Babel и TypeScript. Цель в том, чтобы измерить конкретно производительность JavaScript (на которую влияет движок JavaScript), а не ввод-вывод или другие несвязанные аспекты.
Подробное описание тестов в этом наборе см. здесь.
Источник