Релиз нового процессора от Apple был для меня долгожданным. И это неудивительно: у меня всегда в домашних и рабочих компьютерах были камни от AMD или Intel. Эта ниша нуждалась в революционном прорыве. Так я для себя и воспринимал раньше слухи вокруг Apple Silicon.
Однако после релиза выяснилось, что 32-битные приложения не поддерживаются. И это было первоначальным разочарованием. 32-битная архитектура очень часто используется в веб-разработке, а это именно моя сфера деятельности.
Собственно, стек, с которым я работаю, состоит из: Python, JavaScript, PHP, Go, MySQL/MariaDB, PostgreSQL, Elasticsearch, Redis и Docker.
Главное из этого Docker – это программа, которая позволяет «упаковать» приложение со всем его окружением и зависимостями в виртуальный контейнер, который можно развернуть практически на любой ОС. Запустил контейнер с нужной средой, вжух-вжух, и в продакшн. И как раз у него были большие проблемы с M1.
Оставалось только ждать…
Прошло время, на Reddit вовсю говорили о поддержке 32-битных приложений через эмуляторы, случился релиз Docker под M1, и Apple выпустила новый iMac.
Теперь я могу для себя решить: стоит брать рабочую лошадку на новых процессорах Apple Silicon или нет.
Взял iMac на M1 и начал тестировать
На чем тестил:
На чем работаю уже 5 лет:
Начал собирать в Docker образы, с которыми обычно работаю, и все собралось без проблем, за исключением Elasticsearch (поисковая система, написанная на Java). Использовал очень древнюю версию, пришлось обновиться до более свежей, и все завелось.
Ради интереса сравнил скорость сборки приложения на React (JavaScript-библиотека для написания веб-приложений), собранного через webpack (сборщик модулей JavaScript).
На M1 собралось за 17.66 секунд:
На старом Intel — за 23.56 секунд.
Собирал и другие приложения через webpack, и везде разница была 25-30%.
Захотелось сравнить сборку образов докера, хоть это делается и не так часто, но зато работу с сетью можно затестить.
Образ PHP 7.3 (язык программирования, чаще всего использующийся в веб-приложениях) с нужными мне зависимостями на М1 собрался за 152 секунды.
А на Intel за 301 секунду. Разница весьма ощутима.
А что с архивацией? pbzip2(архиватор, который может использовать сразу несколько ядер процессора) работает отлично: использует 7 ядер точно. На счет последнего не уверен.
htop (консольная утилитка для мониторинга процессов) показывает только 7 ядер и, судя по нагрузке, 8 ядро не используется. Думаю, оно зарезервировано на другие, системные цели.
Таким образом, 4.4 гигабайта данных разного типа на М1 сжимается через pbzip2 за 1.10 минуты.
На моем Intel — за 1.41 минуты.
А что с нагревом
Хотелось бы пару слов сказать про температуру.
Средняя температура с работающим докером при использовании браузера и IDE (среда разработки) – 36-38°C.
При использовании pbzip2 получалось прогреть до 55°C, после чего кулеры начинали крутиться с ~5500 RPM, и все остывало.
Только играя в Dota 2, получилось разогреть до 62°C.
А вот моя любимая Half-Life 2 не работает :(
В итоге я однозначно решил обновиться до компьютера с М1, уж очень радует температура процессора, но пока хочу MacBook Pro 16 c Apple Silicone.
А вообще, тем, кто работает с Big Data или в DevOps, однозначно рекомендую, если вы, конечно, не используете сервера с Xeon для локального деплоя.
23 комментариев
Форум →Класс, для веба можно смело брать
@Fedor Sharaputo, нет. Многие минификаторы изображений из под ноды не работают на м1. Надо ждать, когда разрабы разродятся.
@Mr. Cat, Понял, спасибо. Значит подожду пару лет, как раз обкатают новую архитектуру.
“но подожду MacBook Pro 16 c Apple Silicone” – так он уже продаётся, разве нет?
@vovabyrms, в наличии у официальных дилеров сложно было купить 2-3 недели назад. В особенности если хочешь серебристый цвет и небазовый комплект. Кастом с сайта apple на неделю дольше ждать обычной версии.
>А вообще, тем, кто работает с Big Data или в DevOps, однозначно рекомендую, если вы, конечно, не используете сервера с Xeon для локального деплоя.
Использовать М1 в качестве подставки под нормальное железо и ось?
@Oleg, ты же явно не понимаешь ни слова из того что написано?
Небольшой отрыв. 25-30% за пять лет.
@Diomer, Согласен, не ахти какой прогресс, даже за 6 лет можно сказать.
@Diomer, 30% — это хороший прирост производительности. Особенно с учётом сравнения между М1 (начальный уровень) и Intel Core i7. И с учётом энергопотребления (нагрева). Или думаете, что i7 за эти пять лет предложит вам больше?
@Diomer, да уж действительно. Процессор из iPad всего за 30% лучше компилит код, чем пышащий жаром Core i7. Тоже мне, прогресс.
Не знаю, из обзора автора не увидел глобальной разницы. Вот если бы тестировалась сборка докера которая идет пол часа/час, чтобы было видно более существенное различие. А вообще, на днях я видел сравнение работы андроид студии на Интел и М1. Разница порой была в 4 раза.
Расскажу как iOS разработчик из вайбера: вообще в целом Xcode работает на много быстрее, как будь-то именно под это был придуман m1, а если конкретно, то с таким большим проектом, выигрыш в скорости компиляции в 2 / 2.5 раз (и на холодный и на горячий билд, с холодным пуском явно – было на i9/i7 16” 2019 около 25ти/30ти минут, стало на MacBook Pro M1 10ти / 12ти минут)
В итоге всех девов перевели на m1
вчера хотел поставить библиотеки gcc на М1. Так оно ругается что только пол х86 это. Запускал командную строку через розетту, так же ошибка. Короче, мак, это еще та херня. Говорят что винда – это танцы с бубнами, так я скажу что Яблоко не менее глючная хрень. Как говорится, вот вам Боинг 777. Так это же танк! Ну немного доработайте напильником.
@GIK, винда и за десять лет не осилит переход на ARM. Они не первый год уже с этим делом тыкаются без особых успехов. А у яблочка через год-два весь софт будет под М1 летать, будто х86 и не было. Без всяких напильников.
@Jan Rokas, думаю, надо будет – осилят. тут проблема в том, что у майков нет особого стимула пилить винду под арм, потому что на рынке в количествах, отличных от следовых, присутствует только Microsoft Surface. В итоге нет реально крутых процов, нет железок, поэтому нет ОС и, соответственно, софта. Это замкнутый круг. Apple в него не попадала, потому что сама выпускает и проц, и железки, и ОСь, и часть профессионального софта.
@GIK, ну что сказать – вон из профессии. Такая вопиющая безграмотность 🤦🏻♂️
@?, а вы знаете мою профессию?
Так себе из тебя разработчик, что ты даже не заметил, что pbzip2 у тебя крутиться на интале судя пр твоему же htop. Но сравнить ничего не помешало.
@Николай Тюрин, xD
по мне главная разница между intel и m1 в том что даже при почти полной нагрузке на cpu/gpu сама система продолжает быть работоспособной (вероятно это то самое 8-е зарезервированное ядро).
15 mbp 2018 на i7 при компиляции webpack проекта умирал на минуту или дольше. Или при обучении TensorFlow свёрточной нейросети про работу в это время можно было забыть, да и нахождение в этой же комнате тоже – гудел как самолет.
@NoName, еще один. Смотрю в книгу вижу фигу. Разработчики, вы то должны считать с 0 уметь. Какое зарезервированное ядро? Все 8 на скрине активны.
От себя могу сказать что виртуалка работает значительно быстрее на м1.
Тоже выбрал м1 для разработки.
Нашли орфографическую ошибку в новости?
Выделите ее мышью и нажмите Ctrl+Enter.Как в macOS Sonoma изменить настройки DNS и Proxy
Что делать, если купил утопленный iPhone
Как не дублировать данные приложений в iCloud?
Как в macOS узнать лимит свободного места в Почте
Как включить разметку листа в приложении Заметки на iPhone
Как вручную сгружать неиспользуемые приложения на iPhone
Как установить бета-версию iOS 14.5 с разблокировкой iPhone через Apple Watch
Как отключить автовоспроизведение видео на сайтах в Safari на Mac