Facebook‘s BOLT Nearing Mainline LLVM For Optimizing Binaries

Facebook的BOLT项目旨在通过优化已编译二进制文件的代码布局来提升大型应用程序的运行速度。目前BOLT正在接近被并入LLVM官方源代码库的关键阶段。BOLT可以为应用带来几个百分点乃至更高的性能提升,并且已经在Facebook内部用于生产环境,成效显著。Facebook希望将BOLT开源化能吸引更多贡献者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Facebook's BOLT Nearing Mainline LLVM For Optimizing Binaries - Phoronixicon-default.png?t=M0H8https://www.phoronix.com/scan.php?page=news_item&px=BOLT-Nearing-LLVM-Monorepo

Facebook's BOLT project for optimizing the performance out of compiled binaries is nearing the point of being added to LLVM's official source tree with its mono repository.

BOLT has been an engineering project at Facebook going back years that is a Binary Optimization and Layout Tool for speeding up Linux binaries. It aims to optimize the speed of large applications based on a collected execution profile, generated via Linux perf or similar, by improving the code layout for greater efficiency.

BOLT leverages LLVM and for the past year Facebook engineers have been wanting to upstream this optimizer inside LLVM. Generally BOLT'ing an application can net a several percentage point improvement to performance while in some cases can even be double digit improvements. BOLT is complementary to the likes of a compiler's LTO and PGO (Profile Guided) optimizations but like PGO does require first collecting a profile on the binary to be optimized.

BOLT is designed to work with large and complex applications/services. BOLT is already in use for large, production workloads within Facebook for squeezing out greater performance. In a 2019 paper they reported a 7% performance speed-up for their data-center applications on top of the gains already achieved by feedback-directed optimizations (FDO) and LTO. In some cases can even speed up binaries by ~20% or up to 50% if not using FDO/LTO.

What's going on now is nearing the point of BOLT being added to LLVM's source tree in the form of its mono repository. This mailing list thread was started to work through remaining technicalities and ensuring no other outstanding issues remain before it's ultimately merged. It's looking soon like the landing of BOLT within the LLVM repository will happen. Facebook hopes that having BOLT upstream will encourage more contributions to this tool. Currently BOLT does not work on Windows.

BOLT benchmarks coming up soon on Phoronix.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值