1

PGO使得Windows的Rust编译器速度提高了约15%

 1 year ago
source link: https://www.jdon.com/61501
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

PGO使得Windows的Rust编译器速度提高了约15%
Rust编译器使用PGO(Profile Guided Optimization)来加快编译时间已经有一段时间了,但是它只针对Linux发行版,所以其他操作系统的用户无法从中受益。

现在,由于@lqd的伟大工作,PGO也在CI中为Windows执行,所以Windows用户将能够享受更快的`rustc`编译器。这个变化刚刚被合并到这个PR中,应该可以从1.64稳定版开始使用。

目前,我们还没有在CI中测量rustc在Windows上的性能的基础设施(我们只测量编译器在Linux上的性能),所以要测量确切的性能优势并不那么简单,但PR中的本地结果显示了一些非常好的进步,例如,在编译有优化的regex crate时,执行指令数减少了近20%。

如果你在想 "那OS X呢",故事就有点复杂了。基本上,目前对某些平台进行PGO的主要障碍(从而使该平台的编译器 "免费 "加速约10-20%)是可用的CI基础设施。OS X的CI构建已经非常慢了,因为GitHub上的OS X工作者根本就没有很好的性能。

举个例子,OS X的构建在CI上已经需要2.5个小时了,而且这还没有PGO。相比之下,Linux的构建时间不到2小时,而且是在完全使用PGO的情况下,其中包括多个LLVM从头开始的重建。我们目前正在考虑另一种方法,即我们可以从Linux中获取PGO工件/文件,并在OS X上应用它们,但这只是一个实验,我们不确定它是否会成功。总而言之,OS X的类似PGO改进仍然需要一些时间才能实现。
 


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK