Reaper — фреймворк для обнаружения неиспользуемого кода в рантайме
В качестве примера разработчики приводят историю уменьшения кодовой базы Duolingo на целый процент (или 10 000 строк кода).
Он поддерживает все классы, написанные на Objective-C, большинство non-generic классов Swift и некоторые structs/enums Swift.
Инструмент от Emerge tools (теперь он опенсорс как и FaultOrdering) определяет набор используемых классов, а каталог Scripts в этом репозитории содержит программу для определения набора всех возможных типов, которые может обнаружить reaper. Разница между этими наборами - неиспользуемые типы.
➡️ О влиянии фреймворка на перфоманс можно почитать здесь, а к бинарнику это добавит <20 килобайт.
📖 Статья с примерами и разбором для iOS (и Android) доступна вот тут.
😃 iOS Dev
В качестве примера разработчики приводят историю уменьшения кодовой базы Duolingo на целый процент (или 10 000 строк кода).
Он поддерживает все классы, написанные на Objective-C, большинство non-generic классов Swift и некоторые structs/enums Swift.
Инструмент от Emerge tools (теперь он опенсорс как и FaultOrdering) определяет набор используемых классов, а каталог Scripts в этом репозитории содержит программу для определения набора всех возможных типов, которые может обнаружить reaper. Разница между этими наборами - неиспользуемые типы.
📖 Статья с примерами и разбором для iOS (и Android) доступна вот тут.
Please open Telegram to view this post
VIEW IN TELEGRAM
8 17🔥11👍8✍4❤🔥2⚡1🏆1