Все

Как мы автоматизировали генерацию Baseline Profile

Видео android mobile
Даниль расскажет, что вообще такое Baseline Profile и каким приложениям он может быть интересен. В качестве примера возьмёт наш дешевый эксперимент, который ускорил время запуска приложения на 15%. О чём ещё поговорим:
– О самой автоматизации.
– Об итогах в проде и влиянии на время холодного старта и время отрисовки первого кадра на экране.
– О дальнейших шагах по улучшению.
О спикере: Инженер в юните Performance: отвечает за производительность приложения Авито. Любит когда всё работает быстро и плавно
00:00 | Начало
00:10 | Вступление
01:06 | Что будет в докладе
01:30 | Baseline Profiles — кому и зачем?
01:39 | Откроем профилировщик
02:21 | Как выполняется код
04:20 | Profile Guided Optimization + Cloud Profiles
05:15 | Baseline Profiles решают проблему
05:54 | Baseline Profile — это файл
06:24 | Что можно ускорить?
07:10 | Распределение разных типов старта в Авито
07:36 | Наша мотивация вкладываться в Baseline Profile
08:37 | Как мы проверили профили локально
09:50 | Ускорение по версии macrobenchmark-тестов
10:21 | Проверка эффекта в проде
12:34 | Ускорение по версии продакшена
12:52 | Перф-тесты vs. продакшен
14:44 | План на автоматизацию. Когда запускать сборку профиля?
15:37 | Задача на CI для отправки релизного артефакта
16:15 | Сборка профиля
17:33 | Кастомные раннеры
19:21 | Раннер тестов + macrobenchmark
20:43 | А как сохранять?
21:22 | Итоговый пайплайн сборки профиля
22:24 | Итоговый пайплайн сборки релиза
22:56 | Тест на генерацию профиля
24:09 | Плохой тест vs.хороший тест
24:59 | Тест на генерацию профиля
25:47 | Результат — медленных запусков стало меньше
26:22 | Детализация холодных запусков
27:40 | А что с FPS в проде?
28:20 | Дальше — расширять сценарий
29:01 | Пробовать startup profiles
29:44 | «Мониторинг»
30:14 | Нужен ли вам Baseline Profile
33:08 | Ответы на вопросы
Презентация Даниля: https://clc.to/Vdk6eQ
Другие доклады с Митапа: Avito Android meetup #2