[Перевод] Бенчмарки Apple M1 в реальной разработке

a2e4b8c0b28d6dd1c907d78eb6370c2c.jpg

Я очень впечатлён результатами тестов 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


Чем меньше, тем лучше

dc0a59dc735bd63cb155555256d7ba56.svg

Renaissance — это современный, открытый и диверсифицированный набор тестов для JVM, направленный на тестирование JIT-компиляторов, сборщиков мусора, профайлеров, анализаторов и других инструментов.

Поскольку JVM требует большого объёма памяти, а память является одним из главных узких мест для любых Java-приложений, производительность Apple M1 ошеломляет по сравнению с Ryzen 3900X.


Чем больше, тем лучше

b39f5edd7ddcf00f50bc009f89a58e8d.svg

SciMark 2.0 — это Java-бенчмарк для научных и численных вычислений. Он замеряет производительность несколько вычислительных ядер и сообщает сводную оценку в приблизительных мегафлопсах (миллионы операций с плавающей запятой в секунду).


Чем меньше, тем лучше

2c4a4b5e5ea0a5aa581bcf975810c200.svg

Тестовый набор DaCapo состоит из набора опенсорсных приложений реального мира с нетривиальной загрузкой памяти.


Чем меньше, тем лучше

d8179ced2c991988790816c132481d73.svg

c9a3f8c27df0328eab1f3ba846a93913.svg

Проект PyPerformance должен служить авторитетным источником бенчмарков для всех реализаций языка Python. Основное внимание уделяется реальным, а не синтетическим бенчмаркам. Где возможно, используются полные приложения.


Чем меньше, тем лучше

997414763d127116362cd73361432541.svg

Обратите внимание, что в этом бенчмарке Go использует все ядра.


(Единицы измерения: наносекунд на операцию, чем меньше, тем лучше)
Чем меньше, тем лучше

ec884db999391988fb4f035126f25650.svg

7ee977db2949aa2c8a51326945d7a98e.svg


Чем больше, тем лучше

f214426fe91d31ae3c131b5bfb7ba2d3.svg


Чем больше, тем лучше

94ce18bebe8c5476b233a314a1c42ed8.svg

V8 Web Tooling Benchmark — это набор тестов для измерения рабочих нагрузок JavaScript в веб-разработке, таких как основные рабочие нагрузки в популярных инструментах вроде Babel и TypeScript. Цель в том, чтобы измерить конкретно производительность JavaScript (на которую влияет движок JavaScript), а не ввод-вывод или другие несвязанные аспекты.

Подробное описание тестов в этом наборе см. здесь.


Чем больше, тем лучше

39a7cb6dc0cbfb4a7ee009968cc41a49.svg

739dda2aaf805be28d45135e003ccadf.svg


Чем меньше, тем лучше

Целевой проект сборки: antd-admin.

9813df294db37b213301caed66ffc2fd.svg


Производительность чипа Apple М1 очень впечатляет. В реальных задачах он проявляет себя лучше, чем нынешние x86.

© Habrahabr.ru