Evaluate using Profile-Guided Optimization (PGO) and Post-Link Optimization (PLO) #4012
Unanswered
zamazan4ik
asked this question in
Feature requests
Replies: 1 comment 1 reply
-
PGO and other improvements of the sort provide substantial gains. So to me, this should be done at the application level, when linking the final binary, Bottomline, I am sure this can help. but:
|
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi!
Recently I checked Profile-Guided Optimization (PGO) and Post-Link Optimization (PLO) improvements on multiple projects. The results are available here. According to the tests, these optimizations can help with achieving better performance in many cases for many applications: networking apps like HAproxy and Envoy, many databases, parsing utilities like Vector, runtimes like V8, etc. Since this, I think trying to optimize or-tools with PGO and PLO can be a good idea.
I can suggest the following action points:
Testing Post-Link Optimization techniques (like LLVM BOLT or Google Propeller) would be interesting too (Clang and Rustc already use BOLT as an addition to PGO) but I recommend starting from the usual PGO.
Examples of how PGO optimization is integrated into other projects:
configure
scriptI have some examples of how PGO information looks in the documentation:
Regarding LLVM BOLT integration, I have the following examples:
Beta Was this translation helpful? Give feedback.
All reactions