[Перевод] Бенчмарки Apple M1 в реальной разработке
Я очень впечатлён результатами тестов Apple M1. Это действительно быстрый и мощный чип в важных повседневных задачах, таких как просмотр веб-страниц, работа с приложениями x86 и инструментами разработчика. Да, экосистема ещё не развита, и это может занять некоторое время, но эта работа стоит того, с учётом феноменальной производительности M1.
М1 действительно быстрый, и многие бенчмарки доказали его эффективность. Однако мне было любопытно посмотреть на производительность языков программирования. Поэтому я решил протестировать чип в самых популярных рабочих нагрузках в разработке.
Следует иметь в виду, что некоторые наборы тестов нагружают память, другие зависят от производительности CPU, а в некоторых задачах нет преимущества от многоядерной обработки из-за накладных расходов или сложности использования многопоточности. Это означает, что M1 может показать лучший результат, чем десктопный Ryzen даже с меньшим количеством ядер. Самое главное, что я сосредоточился на тестах реальных задач разработки, а не на синтетических тестах продакшна.
Исходные данные бенчмарка здесь.
Примечание: количество ядер 3900X бесполезно для тестов, которые не показывают реальную производительность в продакшне. Но сами разработчики большую часть времени работают на ноутбуках, настольных компьютерах и т. д., поэтому такие тесты имеют смысл. Конечно, в продакшне Ryzen 3900X будет работать намного лучше, чем M1 и Intel, в основном, за счёт распараллеливания.
- Apple M1: Mac Mini (16 ГБ RAM), MacBook Air (8 ГБ RAM) / macOS Big Sur 11.0.1 (все бинарники для бенчмарков изначально скомпилированы для чипов Apple).
- Ryzen 3900X: ASRock Rack X570D4I-2T / 16GB DDR4–3200 × 2 / Ubuntu 20.04.1 LTS (после завершения фоновых задач) — вы можете спросить, почему я использовал 3900X вместо процессоров линейки Ryzen 5000: потому что таких у меня нет. И обратите внимание, что в материнской плате сервера нет смысла разгонять память.
- Intel i7–9750H: MacBook Pro 16» / 16 ГБ / macOS Big Sur 11.0.1
- Intel i9–9880H: MacBook Pro 16» / 32 ГБ / macOS Big Sur 11.0.1
Чем меньше, тем лучше
Renaissance — это современный, открытый и диверсифицированный набор тестов для JVM, направленный на тестирование JIT-компиляторов, сборщиков мусора, профайлеров, анализаторов и других инструментов.
Поскольку JVM требует большого объёма памяти, а память является одним из главных узких мест для любых Java-приложений, производительность Apple M1 ошеломляет по сравнению с Ryzen 3900X.
Чем больше, тем лучше
SciMark 2.0 — это Java-бенчмарк для научных и численных вычислений. Он замеряет производительность несколько вычислительных ядер и сообщает сводную оценку в приблизительных мегафлопсах (миллионы операций с плавающей запятой в секунду).
Чем меньше, тем лучше
Тестовый набор DaCapo состоит из набора опенсорсных приложений реального мира с нетривиальной загрузкой памяти.
Чем меньше, тем лучше
Проект PyPerformance должен служить авторитетным источником бенчмарков для всех реализаций языка Python. Основное внимание уделяется реальным, а не синтетическим бенчмаркам. Где возможно, используются полные приложения.
Чем меньше, тем лучше
Обратите внимание, что в этом бенчмарке Go использует все ядра.
(Единицы измерения: наносекунд на операцию, чем меньше, тем лучше)
Чем меньше, тем лучше
Чем больше, тем лучше
Чем больше, тем лучше
V8 Web Tooling Benchmark — это набор тестов для измерения рабочих нагрузок JavaScript в веб-разработке, таких как основные рабочие нагрузки в популярных инструментах вроде Babel и TypeScript. Цель в том, чтобы измерить конкретно производительность JavaScript (на которую влияет движок JavaScript), а не ввод-вывод или другие несвязанные аспекты.
Подробное описание тестов в этом наборе см. здесь.
Чем больше, тем лучше
Чем меньше, тем лучше
Целевой проект сборки: antd-admin.
Производительность чипа Apple М1 очень впечатляет. В реальных задачах он проявляет себя лучше, чем нынешние x86.