http://warpknitting.com.cn

无极4电脑挂机软件Rust 编译器探索使用 PGO


Rust 编译器团队介绍了将 PGO 应用于 Rust 编译器 (rustc) 的实践。他们表示此举动主要是受 Mozilla 启发,Mozilla 作为 Rust 的深度使用者,无极4电脑挂机软件在过去的几个月里一直在使用配置文件引导优化 (Profile-Guided Optimization, PGO) 来构建其自用的优化版本 Clang,并将使用此构建基础设施的 Firefox 编译时间减少了 9%。

因此,Rust 编译团队猜想是否可以将 PGO 应用到 rustc 本身以提升速度?

结论是 PGO 可以显著缩短编译时间,无极4荣耀下载说明:但要把这些改进提供给使用者不像在 dist builds 中添加编译器标志 (compiler flag) 那样简单。PGO 与大多数其他优化的不同之处在于:

更多的检测和数据收集阶段,因此需要不同的扩展构建工作流
产生持续的构建时间成本,这是自动化优化(如 LTO)共有的一个特征
上述两个问题给在编译器上应用 PGO 形成不小的阻碍,Rust 的 CI 构建时间比较长,团队也因此放弃了一些优化(例如由于 Mac 平台上的构建机器速度特别慢,macOS 至今仍无法通过使用 ThinLTOed LLVM 获得 10% 的性能提升)。

对于上述两个阻碍,无极4荣耀网站下载平台Rust 编译器团队提出了权衡的建议,一是让计算机多花几个小时用于构建,这就可以在接下来的几个月减少 15% 的编译时间;另外就是为复杂的构建设置投入大量工程成本,例如引入带外检测 (out-of-band instrumentation) 和提供配置文件数据缓存。

延伸阅读

微软探索 LTO+PGO 以优化 Linux 内核

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。