protocolbuffers/protobuf

Evaluate Profile-Guided Optimization (PGO)

Open

#13,248 opened on Jul 8, 2023

View on GitHub
 (1 comment) (0 reactions) (0 assignees)C++ (16,128 forks)batch import
enhancementhelp wanted

Repository metrics

Stars
 (71,223 stars)
PR merge metrics
 (Avg merge 2d 11h) (185 merged PRs in 30d)

Description

Hi!

Recently I checked Profile-Guided Optimization (PGO) improvements on multiple projects. The results are here.

Since PGO showed measurable improvements in compiler-like loads (Clang, Clangd, clang-format, GCC, Rustc, etc.) I think it could be useful to check PGO on Protobuf compiler (protoc) as well.

We need to perform PGO benchmarks on protoc. And if it shows improvements - add a note about possible improvements protoc performance with PGO. Providing an easier way (e.g. a build option) to build scripts with PGO can be useful for the end-users too. Improving protoc performance can help with faster Protobuf compilation time (and that's nice to have e.g. on CI).

Contributor guide