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