您现在的位置是:首页 > 文章详情

LLVM Clang 11 预编译头新选项将带来大幅构建性能提升

日期:2020-08-10点击:839

科技外媒 phoronix 跟踪了 LLVM/Clang 11 源码更新中的一个构建新特性,如果将 clang-cl 驱动用于 MSVC 或通过其它方式使用预编译头(Pre-Compiled Headers,PCH)特性,则可以使用新选项来显著加快构建时间

这一特性最早提交于去年 10 月,今年 4 月又被调整后 commit,并进入 LLVM 11 RC。主要原理是添加选项以实例化 PCH 中已经存在的模板。添加 -fpch-instantiate-templates,在生成预编译头时已经实例化模板,而不是在每次使用预编译头时都实例化。

默认情况下仅为 clang-cl 启用此功能。MSVC 通过使用空的 .cpp 文件进行编译来创建 PCH ,这意味着在构建 PCH 时会实例化模板,因此 .h 需要自包含,否则可能导致问题:test/PCH/pch-instantiate-templates-forward-decl.cpp 无法编译。

提出这一改进的开发者测试了多次,表示这可以节省 20-30% 的构建时间。

具体可以查看:https://reviews.llvm.org/rGa45f713c673001abb4fe0612b909c698073eb356。另外,LLVM 11.0/Clang 11.0 预计下个月发布。

原文链接:https://www.oschina.net/news/117812/llvm-fpch-instantiate-templates
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章