Разработчики Ubuntu проанализировали эффективность включения PGO-оптимизации

Компания Canonical опубликовала результат оценки изменения производительности при пересборке пакетов с включением оптимизации на основе результатов профилирования кода (PGO - Profile-guided optimization), позволяющей генерировать более оптимальный код на основе анализа особенностей выполнения программы. В ходе проделанной работы был сделан вывод, что включение PGO-оптимизации позволило на 5-7% снизить нагрузку на CPU и ускорить время сборки.

В ходе проведённого эксперимента была измерена производительность сборки пакетов OpenSSL, GDB, Emacs и Python3.12 в виртуальном окружении QEMU, эмулирующем систему RISC-V на компьютере с архитектурой x86_64. Разница производительности оценивалась для QEMU, собранного с опциями по умолчанию и с включением PGO-оптимизации. Тестируемые пакеты для сборки были выбраны с расчётом, что в них используются разные языки программирования, а объём кода соответствует 1-6 часам сборки в эмуляторе.

С практической стороны, эксперимент позволил добиться повышения производительности сборочных окружений для платформы RISC-V, запускаемых при помощи эмулятора. Сборочные работы, ранее выполняемые за сутки, при задействовании PGO-оптимизации стали выполняться на два часа быстрее, что дало возможность ежедневно производить на том же сервере две дополнительные полные сборки.

https://honk.any-key.press/d/G7TRDQ36vVzKZQR78l91B.png

https://honk.any-key.press/d/G7TJ1Lw7v7HHq9nhChC2d.png

https://honk.any-key.press/d/G7T6dzy1BXHz4L1Gwl3f7.png

https://honk.any-key.press/d/G7TKS1Qv33bFZlCsm741P.png

Источник: https://www.opennet.ru/opennews/art.shtml?num=62262