Конференция завершена. Ждем вас на HighLoad++ в следующий раз!

Profile-guided-анализ кода

GolangConf: Hardcore

GolangConf: Hardcore

Доклад принят в программу конференции

Мнение Программного комитета о докладе

Хорошие CPU-профили позволяют выявлять паттерны исполнения вашей программы. Сегодня вы узнаете, что эти профили можно использовать не только для ручных оптимизаций с pprof.

Целевая аудитория

Люди, которые пытаются решить нетривиальные и нестандартные задачи по улучшению производительности.

Тезисы

CPU-профили, когда собраны с рабочей системы при репрезентативной нагрузке, позволяют выявлять паттерны исполнения вашей программы. Знаете ли вы, что эти профили можно использовать не только внутри pprof для ручной оптимизации, но и для других целей?

* Как отличить хороший CPU профиль от плохого;
* какова структура profile.proto-файлов и как их парсить;
* как раскрасить горячие строки кода в редакторе;
* что такое структурный поиск кода по горячим местам;
* статический анализ производительности на основе профилей исполнения;
* несколько полезных рецептов для pprof;
* альтернативные способы агрегации без pprof.

Работал над компиляторами для Go и KPHP, а также над утилитами статического анализа этих языков (NoVerify, go-critic). Большая часть интересов связана с devtools и языками программирования, но в свободное время иногда разрабатывает видеоигры.

ВКонтакте

ВКонтакте — крупнейшая социальная сеть в России и странах СНГ. Наша миссия — соединять людей, сервисы и компании, создавая простые и удобные инструменты коммуникации.

Видео