Прошло много времени с момента последнего запуска тестов, оценивающих производительность оптимизаций на основе профиля (PGO) GCC, помогающих оптимизировать производительность. Но в связи с дискуссиями о PGO в ядре Linux (хотя эти усилия пока приостановлены), несколько читателей Phoronix поинтересовались, могут ли они увидеть свежие цифры PGO с GCC 11. Итак, вот такие тесты GCC 11 с готовящейся версией Ubuntu 21.10. на настольном компьютере AMD Ryzen 9 5950X.

Используя последний ежедневный образ Ubuntu 21.10 с его компилятором GCC 11.2 и другими обновленными компонентами инструментальной цепочки, я провел несколько свежих тестов, глядя на влияние PGO.

Тесты сначала проводились без использования каких-либо оптимизаций на основе PGO/профилей. После этого все тесты C/C ++ с открытым исходным кодом были перестроены с необходимой поддержкой для включения сбора профилей, все тесты были повторены только для генерации необходимых данных профиля без использования результатов тестов, а затем все тесты сравнивает каждый восстановленный тест с соответствующими данными профиля. Это скорее лучший сценарий для оценки производительности PGO с профилями, соответствующими конкретным рабочим нагрузкам/путям кода, тестируемым эталонным тестом. Эти тесты в основном предназначены для справки и в целях любопытства, чтобы помочь им решить, стоит ли внимательнее изучить оптимизацию на основе профиля для ваших конкретных рабочих нагрузок или критически важные для производительности базы кода. Все остальные CFLAGS/CXXFLAGS поддерживались одинаковыми на протяжении всего тестирования, за исключением простой настройки параметров PGO для данной сборки.

Categories: IT Info