Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Spiderman + Youtube speedpaint by RowenHebing
Процессоры M1 от Apple уже давно не новость. Многие знают об их быстродействии и о том, что приложения для MacOS нужно адаптировать под новую архитектуру. В команде разработки платформы Tarantool мы тоже недавно поставили перед собой такую задачу.
Я, Алексей Корякин, технический директор Tarantool, входящего в экосистему VK. Расскажу, зачем нам вообще это было нужно (ведь macOS не устанавливают на продакшен-серверы), как мы решали задачу, и покажу результаты бенчмарков.
Как появилась задача и как ее решали
Tarantool — высокопроизводительная платформа in-memory-вычислений, которая состоит из базы данных и application-сервера. Зачастую разработчики устанавливают Tarantool на свои рабочие машины и пишут код там. Для многих это удобней, чем работать на отдельном сервере, особенно если у них один рабочий компьютер.
Некоторые разработчики из нашей команды тоже устанавливают себе Tarantool локально. Так же делает и наш product-менеджер, который в начале года купил новый MacBook Air с процессором M1. И вот однажды он пришел к технической команде с вопросом: «А почему Tarantool не работает нативно на процессоре M1? Я недавно купил новый MacBook Air, а Tarantool запускается только через Rosetta. Нативная поддержка процессоров Apple M1 могла бы стать отличным плюсом Tarantool для нашего комьюнити, чтобы коллеги, переехавшие на перспективные маки, могли эффективно разрабатывать системы под Tarantool».
Техническая команда подумала и решила:
- Tarantool известен тем, что он очень быстрый. M1 известен тем же. Нам стало интересно, а насколько быстрее может стать Tarantool, если посадить его на M1?
- Apple активно обновляет всю линейку компьютеров Mac, переводя их на M1 (а теперь и на M1 Max), а разработчики и другие ИТ-специалисты по всему миру активно пересаживаются на новую платформу. Существующий x86_64-софт запускается через прослойку эмуляции Rosetta, которая не позволяет полноценно использовать всю мощь софта (включая Tarantool) на новых процессорах Apple. Надо это исправлять.
Именно так у нас появилась новая приоритетная задача — поддержка процессора M1