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
Uh oh!
There was an error while loading. Please reload this page.
-
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:
configurescriptI 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