-
-
Notifications
You must be signed in to change notification settings - Fork 153
Description
parseable right now does not support building with more advanced optimization techniques like PGO and BOLT. This tooling has an increasing adoption in the community as a tool to additionally optimize programs. With this tooling, there is a huge chance to gain even more performance "for free".
Here I suggest considering an option at least to play with LTO ("fat" version) + PGO + Bolt pipeline (or any combination of them) and test, does it give a performance to the project or not. If yes, would be awesome to have prebuilt binaries with more advanced optimization from the scratch. Also, for the users will be helpful to have the ability to tweak manually their own binaries to their own workloads with the integrated into the build scripts functionality.
Since the project is quite small I do not expect (at least yet) significant improvement from the PGO right now. But at least a good option to try :)
Also, there are some caveats to consider like:
- Significantly increased build times
- BOLT could be still unstable (or even broken) on some architectures
Links:
- Rust experience with LTO + PGO + BOLT: https://kobzol.github.io/rust/rustc/2022/10/27/speeding-rustc-without-changing-its-code.html