Разработчики 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-оптимизации стали выполняться на два часа быстрее, что дало возможность ежедневно производить на том же сервере две дополнительные полные сборки.



CFD0C5CECEC5D4_1732082123.png



CFD0C5CECEC5D4_1732082139.png

CFD0C5CECEC5D4_1732082154.png



CFD0C5CECEC5D4_1732082168.png



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

Полный текст статьи читайте на OpenNet прочитано 1772 раза