Ответ
PGO (Profile-Guided Optimization) — это техника оптимизации кода, при которой компилятор использует данные профилирования (статистику выполнения программы) для принятия решений о более эффективной компиляции. В Go 1.20+ PGO позволяет улучшить производительность, подсказывая компилятору, какие участки кода выполняются чаще.
Пример использования:
-
Собираем профиль CPU:
go test -cpuprofile=cpu.pprof -
Указываем профиль при компиляции:
go build -pgo=cpu.pprof
PGO может оптимизировать инлайнинг, расположение кода в памяти и другие аспекты, повышая производительность на 5-15%. Важно обновлять профили для актуальных сценариев работы.