Заинтригованный впечатляющими бенчмарками M1, я достал последний Mac Mini, чтобы замерить скорость компиляции на C/C++.
Измеряем локальный build2 (без репозитория пакетов), который включает преимущественно код на C++ (611 единиц трансляции) с некоторыми блоками на C (29) и связками между ними (19). Такой бенчмарк требует только компилятора C++ и входит в тестовый набор Phoronix, поэтому можно сравниться с большим количеством процессоров.
Бенчмарк Phoronix в настоящее время использует build2 0.12.0, у нас 0.13.0 (текущий релиз), здесь сборка выполняется примерно на 10% медленнее.
После настройки Mac OS и установки инструментов командной строки для XCode 12.2 у нас есть всё необходимое:
$ clang++ --version
Apple clang version 12.0.0 (clang-1200.0.32.27)
Target: arm64-apple-darwin20.1.0
Судя по
_LIBCPP_VERSION
в заголовке __version
файла libc++
, эта версия Apple Clang ответвилась от ванильного Clang где-то в процессе разработки 10.0.0.Возможно, вы также заметили, что название процессора в триплете Apple Clang отличается от стандартногоaarch64
. На самом делеconfig.guess
показывает следующее:
$ ./config.guess aarch64-apple-darwin20.1.0
Чтобы не использовать два названия для одного и того же, build2 канонизировалarm64
вaarch64
, поэтому вbuildfiles
мы всегда видим aarch64.
Проверим количество аппаратных потоков в
sysctl
:$ sysctl -n hw.ncpu
8
Здесь 8 потоков, это 4 производительных ядра и 4 энергоэффективных. В первом прогоне задействуем все ядра. Очевидно, это даёт наилучший результат:
$ time sh ./build2-install-0.13.0.sh --local --yes ~/install
163s
Приятным сюрпризом оказалось то, что build2 0.13.0 заработал без особых проблем, хотя он вышел раньше M1. Поскольку в ARM слабое упорядочение памяти, это также послужило дополнительной проверкой многопоточной реализации build2 и интенсивного использования атомиков.
Для начала сравним M1 с моей рабочей станцией на 8-ядерном Intel Xeon E-2288G (по сути, i9-9900K плюс ECC). Та же сборка на ванильном Clang занимает 131 с. Хотя это лучший результат, но производительность M1 всё равно впечатляет. Особенно если учесть, что во время компиляции рабочая станция буквально изрыгает горячий воздух и гудит как самолёт, а М1 тихо шуршит с едва заметным потоком тёплого воздуха.
Однопоточный бенчмарк оценивает производительность CPU в инкрементальных билдах:
$ time sh. /build2-install-0.13.0.sh --local --yes-j 1 ~ / install
691s
Ядро E-2288G справляется за 826 секунд. Таким образом, ядро Xeon на 5 ГГц на самом деле медленнее, чем ядро M1 на 3,2 ГГц.
Еще один интересный результат — четырёхпоточный прогон, который использует только производительные ядра М1:
$ time sh ./build2-install-0.13.0.sh --local --yes -j 4 ~/install
207s
Хотя он несколько медленнее восьмиядерного теста, но зато использует меньше памяти. Таким образом, такой вариант имеет смысл на системах с недостатком оперативной памяти (как на всех современных машинах M1).
Вот краткое изложение всех результатов:
CPU CORES/THREADS TIME ------------------------- E-2288G 8/16 131s M1 4+4 163s M1 4 207s M1 1 691s E-2288G 1 826s
Понятно, что во многих отношениях это сравнение яблок с апельсинами (рабочая станция против мобильного устройства, старый дизайн и техпроцесс против самого современного и т. д.)
Теперь добавим несколько интересных результатов из бенчмарка Phoronix. В частности, уместно взять показатели новейших рабочих станций и мобильных процессоров Intel и AMD. Вот моя подборка (можете составить собственную, только не забудьте добавить дополнительные 10% к результатам Phoronix; также обратите внимание, что в большинстве тестов используется GCC вместо Clang):
CPU CORES/THREADS TIME ------------------------------------------ AMD Threadripper 3990X 64/128 56s AMD Ryzen 5950X 16/32 71s Intel Xeon E-2288G 8/16 131s Apple M1 4+4 163s AMD Ryzen 4900HS 8/16 176s* Apple M1 4 207s AMD Ryzen 4700U 8/8 222s Intel Core 1185G 4/8 281s* Intel Core 1165G 4/8 295s * Экстраполяция.
Обратите внимание, что результаты для лучших мобильных Intel (1185G) и AMD (4900HS), к сожалению, ещё не доступны, и приведённые цифры экстраполированы на основе частоты и других бенчмарков.
Из приведённой выше таблицы легко понять, что Apple M1 — впечатляющий процессор, особенно с учётом энергопотребления. Более того, это первый общедоступный ARM-процессор настольного класса. Для сравнения, та же сборка на Raspberry Pi 4B занимает 1724 секунды, то есть более чем в 10 раз медленнее! Хотя мы не можем тут загрузить Linux или Windows, но есть некоторые свидетельства, что они работают на виртуальных машинах с приличной производительностью. В итоге, конвейер непрерывной сборки на базе ARM может стать стандартным.
Увидев бенчмарки M1, невольно задаёшься вопросом, как Apple такое удалось. Хотя есть много спекуляций с некоторыми элементами чёрной магии и колдовства, но вполне хорошим источником технической информации мне показалась эта статья о M1 на Anandtech (и ещё одна там по ссылке). Основные моменты:
Процесс TSMC 5 нм
По сравнению с интеловскими 10 нм (для 11x5G, 14 нм для E-2288G) и 7 нм у AMD/TSMC.
LPDDR4-4266 RAM
Только новейшие мобильные процессоры от Intel и AMD работают с такой быстрой памятью.
Большой кэш L1
У M1 необычно большой кэш L1 для команд и данных.
Большой и быстрый общий кэш L2
В отличие от процессоров Intel и AMD, которые используют отдельные кэши L2 меньшего объёма и большой, но более медленный общий кэш L3, в процессоре M1 реализован быстрый и большой общий кэш L2.
Широкое ядро
У M1 необычайно «широкое» ядро, которое выполняет несколько инструкций параллельно и/или не по порядку. Есть предположение, что из-за слабого упорядочения памяти ARM и кодирования команд фиксированного размера, Apple смогла сделать гораздо более широкое ядро.
Было бы также интересно посмотреть, как Apple сможет масштабировать эту конструкцию на большее количество ядер.
HerrDirektor
Впечатляет. Никогда не любил яблочную технику, но нужно признать, что М1 у них получился очень хорошим, даже если уполовинить восторженные отзывы и синтетические бенчи. Подумываю купить себе для опытов.
Wendor
Соглашусь. Я крайне не люблю Apple за их ценовую политику, за то что они пользователям не оставляют выбора и т.д., но как бы я не противился, не могу отрцать их вклад в современный мир. iPod, iPhone, iPad а теперь и Маки + сопутствующие им технологии. Причем не столько в сами технологии, сколько в их реализации. Хочется верить что и с ARM у них все получится и в конечном итоге у нас будет тьма производителей процов и дешевые цены на них, ну и бонусы с энергоэффективностью тоже будут плюсом. :-)
Zverienish
Ценовую политику. Ну вот ноуты и стоят так же как ультра буки у других, какие-нибудь леново thinkpad-ы так и дороже обойдутся при худшем экране и таче и процессоре. Телефоны по ценам так же как и самсунги и не намного других обгоняют. Тут уже сяоми почти подтянулся. Планшеты со стилусом не прошные, так вообще фактически вне конкуренции. Поэтому вот говорить что просто дорого, то сравнивать надо с товаром такой же категории, а не с Асером на селероне и эраном 1280 на 720 за 20 т.р.
Wendor
Ради интереса зашел и потыкался:
— iPad Pro — 146k
— MacBook 16" — 665k
— iMac Pro — 1,4kk
— Mac Pro — 5,4kk
Zverienish
И?
Makbook Pro 13
Чип Apple M1 с 8-ядерным процессором, 8-ядерным графическим процессором и 16-ядерной системой Neural Engine
8 ГБ объединённой памяти
SSD-накопитель 256 ГБ?
Дисплей Retina 13 дюймов с технологией True Tone
Клавиатура Magic Keyboard
Touch Bar и Touch ID
Трекпад Force Touch
Два порта Thunderbolt/USB 4
Экран 2560?1600 Яркость 500 кд/м?
129 990.00 pyб.
Lenovo ThinkPad X1 Carbon
Дисплей: 14" IPS 1920x1080 FHD; 400 нит
Процессор: Intel Core i5 i5-10210U 1.60 ГГц;
Видеокарта: Intel UHD Graphics;
Оперативная память: 8 Гб LPDDR3;
Накопитель: SSD 256 Гб;
145 590 руб.
Плюс к этому у макбука лучше экран по яркости и цветопередаче и лучше звук. Ну и плюсом дольше работает. И в общем леново медленней заметно будет с i5.
Wendor
Можно я не буду продолжать спор? Вы же понимаете что в цену нового Makbook Pro 13 легко находится аналог, превосходящий по: разрешению, памяти, объему диска и с настоящей видюхой? К примеру, Huawei Matebook X Pro MACHC-WAE9LP.
Раз вы считаете что цены «ок» — дело ваше. Мое мнение немного выше в ветке. Люди мы взрослые, выводы строим каждый для себя сам, опираясь на свой субъективный анализ имеющихся у нас фактов. А истины не существует. Добра вам. :-)
olegi
UPD 03.08.2020: ThrottleStop не работает в последних обновлениях BIOS, в режиме максимальной производительности температура улетает вверх и можно кипятить чайник. Ограничил частоты стандартными средствами винды до 2,9ГГц, выбрал режим оптимальной производительности, температура в норме.
UPD 03.09.2020: откатил BIOS до 1.05, с ним ThrottleStop работает и проблем с нагревом больше не наблюдается.
UPD 13.11.2020: клавиатура стирается при интенсивной печати, т.е. становится глянцевой в местах соприкосновения с пальцами. Заметил это спустя месяц использования, мог бы списать это на особенности моих рук или манеру набора текста, но увы, с таким неприятным недостатком столкнулся не только я.
Второй ноутбук за 2 месяца требует ремонта, а скорее всего замены… Первый ноутбук бы куплен новым по приезде домой, после начала работы при нажатии на клавиатуру, начал издавать весьма сильные скрипы и трески с правой стороны, как будто играет задняя крышка или что-то под ней, естественно крутить болты на только купленном гарантийном ноуте не хотелось от слова совсем, да и была надежда, что достаточно дорогой ноут крупнейший сетевой магазин электроники поменяет сразу, но нет — радостно сообщили, что берут на 21 на «проверку качества»!
Купил бы я его, если бы знал все что знаю теперь? Наверное нет.
Antervis
ivatsy
В макбуках цветовой охват приближается к P3, даже в новом Air. Попробуйте найти такой в других производителей меньше чем за 2500$
Bismuth208
А вот и нет!
Удачи Вам в этом, пишу Вам с Macbook Pro 13" Late 2013.
Несмотря на то, что моему старичку уже 7 лет и он на родном аккумуляторе, у которого 600 циклов, он до сих пор держит 5-6 часов (вместо 14 в начале)!
Более того, им вполне можно пользоваться в некоторых задачах!
Я честно искал замену все эти годы, но везде есть одно или более НО:
— 15" и FHD делают шрифты омерзительно ужасными;
— ужасное охлаждение и перегрев (да, в том числе MBP 16" это позор...);
— ужасный тачпад (ну вот ЗАЧЕМ ЧЕРТ ВОЗЬМИ ДЕЛАТЬ ЕГО ШЕРШАВЫМ !?);
— пластиковый корпус (есть же нормальный пластик, но нет, надо ж самый дешевый ABS !);
— проблемы с драйверами под ввоон ту сетевую карту, которая есть только тут;
— плохая подсветка клавиатуры;
— ужасно тугой механизм экрана или вовсе хлипкий;
— неравномерная подсветка экрана;
— зачастую бесполезное железо чисто для галочки (MX250, MAX-Q и прочее);
— bloatware (а если переставить систему, то проблема драйверов см. выше);
— ужасная автономность (ага только часа 4-5 пока новый);
Итак, подитожим что мы имеем в маках и их цене:
— стоимость их сервисов (синхронизация заметок и прочего через облако);
— бесплатные обновления ПО ОС (которые редко что-либо ломают, но есть же TimeMachine ?);
— превосходный экран с вменяемым разрешением для ТЕКСТА;
— нормальный корпус из приятного материала;
— вменяемую автономность;
— и прочие антиминусы win-ноутбуков;
Вот, ЭТО стоит ~210К!!!
Сдувается от перегрева или без зарядки почти сразу.
Вот Вам некоторое доказательство.
И где Ваше дешевле и лучше?
Ну вот где !?
Могу предположить, если бы оно и было, то было бы оно везде, на каждом сайте и в каждой новости… ой… так именно это и произошло с M1!
Уже заказал себе это Air чудо на M1 с 16Gb опцией.
Пожалуйста, быть может уже настало время выкинуть методичку, где написано что «Aplle это дорого» и взглянуть на мир чуть иначе более… ммм… досконально, не ?
P.S.
И да… припекло…
Antervis
sumanai
А это разве не только на MaсOS, где отрубили нормальное сглаживание?
aplekhanov
Так-то они с 1976-го вкладывают, Антош.
Zverienish
А в чем интересно не любовь.
aplekhanov
Не забываем про два ключевых момента:
1) М1 это SoC, а не просто CPU, где-то видел про прирост в тенсорфлоу 7х
2) это не железо в вакууме, а как говорили раньше: программно-аппаратный комплекс. Про работу винды на арме сами знаете, как сейчас обстоят дела.
Все по заветам покойного: «People who are really serious about software should make their own hardware.»
HerrDirektor
Судя по тому, что винду таки запустили на М1 (через QEMU правда) и на нём она показала двукратное(!) быстродействие по сравнению с родным Surface… В общем, я всё больше хочу эту железку в коллекцию. Но ещё не решил — ждать М1Х или просто купить макмини на младшем процессоре.