Как R8 в два раза ускорил работу корутин Kotlin на Android
Когда команда Compose начала исследовать производительность, выяснилось, что корутины являются узким местом для многих операций, выполняемых вне композиции. Например, 80% времени, затрачиваемого на создание и обновление Modifier.clickable, уходило на запуск и отмену внутренних корутин, обрабатывающих обновления InteractionSource. На основании этих наблюдений значительная часть первых работ по оптимизации была направлена на исключение корутин из стандартного пути выполнения и откладывание инициализации до момента, когда она действительно понадобится.
Статья: https://apptractor.ru/info/articles/kak-r8-v-dva-raza-uskoril-rabotu-korutin-kotlin-na-android.html
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Когда команда Compose начала исследовать производительность, выяснилось, что корутины являются узким местом для многих операций, выполняемых вне композиции. Например, 80% времени, затрачиваемого на создание и обновление Modifier.clickable, уходило на запуск и отмену внутренних корутин, обрабатывающих обновления InteractionSource. На основании этих наблюдений значительная часть первых работ по оптимизации была направлена на исключение корутин из стандартного пути выполнения и откладывание инициализации до момента, когда она действительно понадобится.
Статья: https://apptractor.ru/info/articles/kak-r8-v-dva-raza-uskoril-rabotu-korutin-kotlin-na-android.html
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность