Scalability and Large-Scale Systems Engineering
Accelerate large-scale applications with BOLT

Accelerate large-scale applications with BOLT

6/19/2018 · Maxim Panchenko

What this post added

Introduced BOLT, a binary optimization and layout tool that addresses instruction starvation by optimizing instruction placement in memory. BOLT reconstructs control flow graphs, uses LLVM's MCInst format, and supports Linux binaries (x86-64, AArch64). It leverages sample-based profiling from Linux `perf` tool. BOLT achieved 3-8% performance improvement on HHVM and 2-15% for other services, by isolating frequently executed code and optimizing for hardware features like macro-fusion. BOLT also performs advanced jump table placement, identical code folding, PLT optimization, and constant load elimination.

Read the original post ↗