Даниль расскажет, что вообще такое 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 | Ответы на вопросы