LLVM Clang 11 预编译头新选项将带来大幅构建性能提升
科技外媒 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 预计下个月发布。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
LibreOffice 7.0 | FSF新任主席 | Intel 20G资料泄露 | Bootstrap开源图标库、微软开源OpenServiceMesh
回顾一周社区热门资讯 第【八十三】期:20200801-20200807 点击相应标题,跳转阅读全文 可拆卸更换键位,System76 的 Linux 键盘原型浮现 “舒适”和“不出错”是一大目标。 Apache Cocoon 2.1.13 发布,时隔七年的新版本 Cocoon 使用 XML、Extensible Stylesheet Language Transformations(XSLT),以及 Simple API for XML(SAX)技术,以帮助创建、部署和维护 XML 服务器应用程序。 Bootstrap 开源 SVG 图标库 Bootstrap Icons Linux Kernel 5.8 发布 增加了对一系列 Adreno GPU 芯片(如 405、640 和 650 版本)的支持,新的 Spectre 补丁以及 exFAT 改进。Radeon 驱动在此版本中也得到了更好的支持,POWER10 芯片也得到了改进。 Linux 基金会联合厂商成立开源安全基金会 OpenSSF 一项跨行业的合作,通过建立具有针对性的计划和最佳实践的更广泛的社区,并将领导者聚集在一起,以...
- 下一篇
从新手村开始,手把手带你入门梳理内核代码
作者:姜亚华(@二如公子),《精通 Linux 内核——智能设备开发核心技术》的作者,一直从事与 Linux 内核和 Linux 编程相关的工作,研究内核代码十多年,对多数模块的细节如数家珍。曾负责华为手机 Touch、Sensor 的驱动和软件优化(包括 Mate、荣耀等系列),以及 Intel 安卓平台 Camera 和 Sensor 的驱动开发(包括 Baytrail、Cherrytrail、Cherrytrail CR、Sofia 等)。现负责 DMA、Interrupt、Semaphore 等模块的优化与验证(包括 Vega、Navi 系列和多款 APU 产品)。 往期回顾: Java 离内核有多远? 在上一期内容中,我们介绍了从 JVM 到内核的编译原理,告诉大家应用和系统工程师如何接触到内核。本文将从一个简单的底层硬件模块入手,一步步教大家如何梳理内核代码。适合精力集中在内核,不太需要关心用户空间的工程师,比如驱动工程师、嵌入式工程师等,以及想往这方面学习发展的朋友。 初探内核 版本信息与往期一致: Ubuntu (lsb_release -a) Distributor ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7,8上快速安装Gitea,搭建Git服务器
- 2048小游戏-低调大师作品
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能