BOLT 即"Binary Optimization and Layout Tool"(二进制优化和布局工具)的缩写,能够在配置文件后重新排列可执行文件,产生比编译器的 LTO (Link Time Optimization)和 PGO (Profile Guided Optimization)优化所能达到的更快性能,由facebook开发,现以并入到llvm仓库中。
Linux Plumbers Conference 大会上,有来自 Facebook 的工程师讨论了对内核的 BOLT 处理,带来的性能提升如下图所示:
facebook原始的开发仓库:
https://github.com/facebookincubator/BOLT
当前仓库:
https://github.com/llvm/llvm-project/tree/main/bolt
上面有具体的使用步骤
当前支持较好的平台
X86\X86_64、AARCH32/AARCH64