Facebook Is Looking To Upstream Their BOLT Binary Performance Optimizer Into LLVM

Written by Michael Larabel in LLVM on 21 October 2020 at 07:00 AM EDT. 3 Comments
Facebook's BOLT is a multi-year project focused on speeding up the performance of binaries. This open-source project initially focused on being able to better optimize Linux x86_64/ARM64 ELF binaries as a post-link optimizer. BOLT has been seeing much success with even Google using it now for better performance and now there is work to upstream it as part of the LLVM project.

Facebook engineers are hoping to see BOLT added to LLVM as a binary optimization framework. Google has reported with their own workloads that BOLT can normally provide 2~6% uplift on top of the abilities of compiler optimizations. Other organizations and academia also have been using BOLT in varying capacities.

BOLT can also be used for binary advanced disassembly, low-level program instrumentation, and static analysis on binaries. BOLT makes use of several LLVM libraries but has been developed out-of-tree. In addition to hoping to upstream BOLT as an LLVM sub-project, the developers involved are also working on automatic profile collection and optimizations, Mach0 support to complement the current ELF binary focus, LLD linker integration, and even the ability for being able to optimize Linux kernel images with BOLT.

More details on the proposal for pushing BOLT into LLVM via this mailing list post.

Those wanting to explore BOLT can find the code hosted under Facebook Incubator on GitHub. It's been on my TODO list for a while running some BOLT benchmarks and will hopefully find the time to do so soon.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week