Skip to content

SYSTEM Cited by 1 source

BOLT (Meta Binary Optimizer)

BOLT (Binary Optimization and Layout Tool) is Meta's open-source post-compile binary optimiser that rewrites an already-compiled binary using runtime profile data. Published as "BOLT: A practical binary optimizer for data centers and beyond" (CGO 2019). Part of LLVM: github.com/llvm/llvm-project/tree/main/bolt.

Role on this wiki

  • The post-compile-time consumer in Meta's fleet-scale FDO pipeline. Continuously-collected LBR profiles from the Strobelight LBR profiler are turned into FDO profiles consumed by:
    • Compile timeCSSPGO (Context-Sensitive Sample-based Profile-Guided Optimization) in LLVM.
    • Post-compile timeBOLT, which rewrites binaries in-place.
  • Capacity impact: on Meta's top 200 largest services, the combined pipeline delivers "up to 20% reduction in CPU cycles, which equates to a 10-20% reduction in the number of servers needed to run these services at Meta." This is the economic datum that pays for Strobelight as a platform.

Seen in

Last updated · 319 distilled / 1,201 read