近日,谷歌编译器团队正式提议,将其自主研发的 propeller 性能优化框架并入 llvm 编译器项目的上游主干代码库。

Propeller 是一套依托运行时配置数据的后链接优化(Post-Link Optimization, PLO)系统,专为增强大型软件项目的执行效率而设计。该工具深度集成于 LLVM 生态,通过对函数体及基本块(basic blocks)在二进制镜像中的物理排布进行智能重组织,显著缓解指令缓存(i-cache)未命中等底层性能瓶颈。
当前,Propeller 仍以独立仓库形式维护,用户需手动拉取并集成该外部项目方可使用。谷歌工程师计划将 llvm-propeller 工具整体迁移至 LLVM 官方源码树的 llvm/tools 目录下,与 Clang、LLD、lldb 等核心组件同级发布。此举旨在达成以下目标:
- 降低使用门槛:开发者无需额外引入第三方仓库,开箱即用;
- 强化生态协同:与 LLVM 原生的 Profile Guided Optimization(PGO)基础设施深度对接,形成更一致的优化工作流;
- 优化构建体验:其基于 relinking 的优化机制相较传统二进制重写方案(如 BOLT),在分布式、大规模及增量式构建场景中展现出更强的可伸缩性与稳定性。
据谷歌内部实测数据显示,在 Linux 内核等超大型代码库上联合启用 AutoFDO 与 Propeller 后,典型工作负载可获得约 5%–10% 的端到端性能增益——这一幅度已接近一次主流 CPU 架构迭代或内存带宽升级所带来的收益。
若该提案顺利通过审核并完成合并,LLVM 社区用户将能直接通过标准构建流程启用 Propeller,加速高性能编译优化技术在工业界和开源项目的落地应用。谷歌团队目标是在 2026 年内完成 upstream 合并。
源码地址:点击下载











