Hello again,
Today I have read a news article that BOLT (Facebook/Meta project) has merged into LLVM code tree.
The BOLT + LTO + PGO combination gives a impressive performance uplift (34 % to 68.5 %) to many Clang (LLVM) and GCC compiled programs, see article. Including the Kernel, and even the Clang and GCC compilers execution.
- BOLT
- LTO – Link Time Optimization
- PGO – Profile Guided Optimization
Se the 2 following articles:
BOLT Merged Into LLVM To Optimize Binaries For Faster Performance
https://www.phoronix.com/scan.php?page=news_item&px=LLVM-Lands-BOLT
Facebook Has Been Working On BOLT'ing The Linux Kernel For Greater Performance
https://www.phoronix.com/scan.php?page=news_item&px=Facebook-BOLTing-The-Kernel
GitHub - BOLT
https://github.com/facebookincubator/BOLT/tree/main/bolt
It would be a really nice contribution to the Rust community, if someone that has the experience off using those 3 tools, decided to make a nice tutorial or practical article on how to apply it in Rust the combination of BOLT + LTO + PGO, with a nice example and all the installation process.
Thank you.
Best regards,
João