Пятница, 27 июня в 21:46 UTC+3
Загрузка...

Apple перевела службу мониторинга паролей на Swift с Java, получив прирост производительности на 40%


78Опубликовано 18.06.2025 в 10:16Категория: ПрограммированиеИсточник
Изображение статьи

Компании Meta и AWS используют Rust, а Netflix — Go, сообщает новостной портал InfoQ. Однако, Apple недавно осуществила миграцию своей глобальной службы мониторинга паролей с Java на Swift, что позволило увеличить пропускную способность на 40% и значительно снизить потребление памяти.

Согласно статье, это высвободило около 50% ранее выделенных ресурсов Kubernetes, а также улучшило время запуска и упростило управление параллельными процессами.

В недавнем посте разработчики Apple подробно рассказали, как переписывание кода помогло службе обрабатывать миллиарды запросов в день, одновременно повышая скорость отклика и удобство поддержки. Swift позволил создать более компактную, лаконичную и выразительную кодовую базу (сокращение количества строк кода почти на 85%), которая отличается высокой читабельностью и приорититом безопасности и эффективности.

Служба мониторинга паролей Apple, являющаяся частью более широкой экосистемы приложения Password, отвечает за безопасную проверку скомпрометированных учетных данных пользователя в известных утечках данных, не раскрывая при этом Apple какую-либо личную информацию. Она обрабатывает миллиарды запросов ежедневно, выполняя криптографические сравнения с использованием протоколов, обеспечивающих конфиденциальность. Эта нагрузка требует высокой вычислительной производительности, жестких ограничений по задержке и эластичного масштабирования в разных регионах. Предыдущая Java-реализация Apple испытывала трудности с удовлетворением растущих требований к производительности и масштабируемости. Сборка мусора вызывала непредсказуемые паузы под нагрузкой, ухудшая согласованность задержек. Затраты на запуск — из-за инициализации JVM, загрузки классов и JIT-компиляции — замедляли способность системы масштабироваться в реальном времени. Кроме того, объем памяти, занимаемый службой, часто достигал десятков гигабайт на экземпляр, что снижало эффективность инфраструктуры и увеличивало операционные расходы.

Изначально разработанный как клиентский язык для платформ Apple, Swift с тех пор расширил область своего применения и на серверные задачи. Детерминированное управление памятью Swift, основанное на подсчете ссылок, а не на сборке мусора (GC), устранило скачки задержек, вызванные паузами GC. Эта согласованность оказалась критически важной для системы с низкой задержкой в масштабе. После оптимизации Apple сообщила о задержках на уровне 99,9-го процентиля менее одной миллисекунды и резком снижении потребления памяти: экземпляры Swift потребляли сотни мегабайт по сравнению с десятками гигабайт в Java.

В заключение статьи InfoQ отмечает, что это не означает, что Java и подобные языки приходят в упадок, но появляется все больше свидетельств того, что на верхнем пределе требований к производительности некоторые компании обнаруживают, что универсальных сред выполнения недостаточно.

Загрузка предыдущей публикации...

Загрузка следующей публикации...

Предыдущие новости в категории

Загрузка предыдущих новостей...

Следующие новости в категории

Загрузка следующих новостей...

Мы отбираем новости из проверенных источников, обрабатываем их с помощью современных AI-технологий и публикуем на сайте, созданном с использованием искусственного интеллекта. Все материалы принадлежат их авторам, а контент проходит дополнительную проверку на достоверность. Возможны ошибки в тексте, так как нейросеть тоже имеет свойство ошибаться. Все изображения являются фантазией нейросети, совпадение с реальными предметами и личностями маловероятно.

© 2025 NOTid . QAter . AI service.