tgoop.com/iosdev/1637
Create:
Last Update:
Last Update:
FaultOrdering — опенсорсный инструмент от Emerge tools для ускорения запуска iOS-приложения
Emerge Tools (которые недавно стали частью Sentry), вновь вернулись к интересной и сложной теме.
Первый совместный релиз с Sentry — это шаринг тулзы для генерации файлов порядка (order file).
В своей статье разработчики пишут, что и Spotify, и Snapchat, и AriBnb - все юзают ордер-файлы в своих приложениях.
Такие файлы нужны, чтобы указать линкеру инструкции, как сгруппировать критически важные для запуска символы.
По факту же просто текстовый файл, содержащий по одной строке на каждый символ в приложении. Например, файл порядка приложения Emerge Tools HackerNews содержит такие строки, как:
+[SentryAppStartTracker load]
+[SentryCrashDefaultMachineContextWrapper load]
_main
_$s10HackerNews0aB3AppVAC7SwiftUI0C0AAWl
_$s10HackerNews0aB3AppV7SwiftUI0C0AadEPxycfCTW
_$s10HackerNews0aB3AppVACycfCTf4d_n
В примере выше символы для Objective-C, C и Swift-кода, используемого во время запуска приложения. Соответственно, при увеличении количества отслеживаемых символов будет сокращаться время запуска приложения при использовании такого файла.
📖 В этом материале можно почитать, как FaultOrdering генерит такие файлы.
🛠 А вот тут можно чекнуть сам репозиторий.
Emerge Tools на вопрос самого профита по ускорению отвечают не совсем точно, но на практике они наблюдали, как время запуска приложений сокращалось на 20 %.
Напишите, используете ли вы такие методы для ускорения запуска. Или может знаете способы попроще?