Сравнение подходов Go, .NET и Java к Profile-Guided Optimization
Тезисы
Статического анализа не всегда достаточно, чтобы компилятор мог выполнить все возможные оптимизации. Поэтому современные платформы используют Profile-Guided Optimization — сбор статистики выполнения, который помогает принимать более точные решения при оптимизации кода.
В докладе сравним, как PGO применяется в Go, .NET и Java — языках одной ниши, но с разными моделями компиляции. Разберём, какие оптимизации становятся возможны благодаря профилированию, как устроены tiered compilation и перекомпиляция, какие алгоритмы используются для сбора статистики.
На практических примерах посмотрим, какие возможности есть у каждого компилятора и как это влияет на итоговую производительность.
Статического анализа не всегда достаточно, чтобы компилятор мог выполнить все возможные оптимизации. Поэтому современные платформы используют Profile-Guided Optimization — сбор статистики выполнения, который помогает принимать более точные решения при оптимизации кода.
В докладе сравним, как PGO применяется в Go, .NET и Java — языках одной ниши, но с разными моделями компиляции. Разберём, какие оптимизации становятся возможны благодаря профилированию, как устроены tiered compilation и перекомпиляция, какие алгоритмы используются для сбора статистики.
На практических примерах посмотрим, какие возможности есть у каждого компилятора и как это влияет на итоговую производительность.
Информация о спикере
Дмитрий Егоров
Head of backend, Artsofte
Преподаю в РТФ и записываю курсы на канале https://www.youtube.com/@ArtsofteEducation
  • Спикер
    Должность, Компания
    Преподаю в РТФ и записываю курсы на канале https://www.youtube.com/@ArtsofteEducation
Все доклады секции