gcc|出乎意料?GCC 编译 Linux 内核速度比 LLVM 更快
【gcc|出乎意料?GCC 编译 Linux 内核速度比 LLVM 更快】
文章图片

LLVM 的 Clang C/C++ 编译器传统上以提供了比 GCC 更快的编译速度而著称 , 不过在 GCC 的最近几个版本中 。
其编译速度有所提升 , 并且在某些领域由于 LLVM/Clang 进一步优化工作的缺失和其他工作加入到不断增长的代码库中 , 导致其速度有所减慢 , 因此就目前而言 , GCC 在编译 Linux 内核方面的速度比 LLVM/Clang 更快 。
与会者在上周 Linux Plumbers 2020 大会上发表的演讲介绍了使用 LLVM/Clang 编译 Linux 内核的时间 。
开发者 Nathan Chancellor 和 Nathan Huckleberry 发现 , 对于 64 位 ARM 和 x86_64 架构来说 , 即便 LLVM 在启用 LTO 和 PGO 的情况下进行编译 , “GCC 编译速度始终击败 LLVM” 。
只有当 LLVM 在编译时启用 PGO 来为 32 位 ARM 进行构建的情况下 , 其编译 Linux 内核的速度才比 GCC 快 。
从历史上看 , 这个数据是出乎意料的 , 但考虑到最新的编译器及其在编译器性能方面激烈而友好的竞争 , 似乎又不是过于令人感到震惊的事情 。
不过这种被超越的案例也让 LLVM 的开发者们开始探索未来的改进途径 。 例如 , 冗余的内联内联汇编(Inline Assembly)语句消耗了大约 13% 的构建过程 , 而此问题已经在 Clang 11 中得到解决 。 另外 , 还有一些需要跟踪宏参数源位置的高开销计算 。
随着上游 LLVM/Clang 编译器为 x86_64 和 AArch64(以及最近的 i686)构建上游内核编译器 , LLVM 开发者将更密切关注未来的构建时间 。
推荐阅读
- 吃面食的人和吃米饭的人谁更长寿?身体有什么差别?答案出乎意料
- 核桃仁|核桃是早上吃好,还是晚上吃比较好?答案有点出乎意料
- 凉白开|凉白开被反复加热后,喝了会对人体健康有影响吗?答案出乎意料
- 丝瓜做汤,只需这样做,鲜嫩丝滑,好喝到出乎意料,简单的一碗汤
- 磷酸二氢钾|磷酸二氢钾+尿素,出乎意料,叶面喷施效果人人夸
- 男多女少,光棍成灾!是天意还是人为?“元凶”出乎意料
- 时小慢|新人工资比自己高,小伙提出不加薪就离职,老板的反应却出乎意料
- 起售不到6万的新势力,空间表现出乎意料,哪吒V值得买吗?
- 火车|为啥火车座位是面对面,高铁却朝前?答案出乎意料
- LOL|LOL手游:狗头叠加被动有多强?五千无视高地,十万出乎意料
