本文介绍了 Meta 的二进制优化和布局工具 (BOLT) 如何用于优化 Linux 内核。BOLT 通过重新排列二进制文件中的代码块来提高代码局部性,从而减少指令缓存未命中和 TLB 未命中,最终提升性能。Meta 在其生产内核中使用 BOLT,并在 RocksDB 基准测试中观察到 2.5% 的性能提升,在实际服务中观察到 2% 的 QPS 提升。BOLT 适用于各种架构,包括 x86_64、Arm64 和 RISC-V,并且可以与 GCC 和 Clang 编译器一起使用。虽然 BOLT 主要针对大型应用程序设计,但也已用于加速编译器本身,例如 Python 3.12、LLVM 和 Rust。