关闭
搜索
搜索
本版
帖子
用户
热搜:
程序员
简洁模式
高级模式
用户组: 游客
消息
提醒
新听众
我关注的
帖子
道具
勋章
任务
设置
退出
请
登录
后使用快捷导航
没有帐号?
立即注册
设为首页
收藏本站
开启辅助访问
切换到窄版
登录
or
立即注册
快捷导航
搜索
首页
论坛
BBS
MCU单片机技术
程序员交流
出乎意料?GCC编译Linux内核速度比LLVM更快
[复制链接]
作者:
BJFIO
版块:
›
嵌入式操作系统
›
linux
发布时间:
2020-9-10 04:12:52
1284
0
返回列表
BJFIO
当前离线
中级会员
中级会员, 积分 319, 距离下一级还需 181 积分
中级会员
中级会员, 积分 319, 距离下一级还需 181 积分
积分
319
发消息
楼主
电梯直达
BJFIO
发表于 2020-9-10 04:12:52
|
只看该作者
|
倒序浏览
|
阅读模式
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 开发者将更密切关注未来的构建时间。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有帐号?
立即注册
收藏
0
相关帖子
•
微软确认:Win10ARM从11月起正式支持运行64位程序
•
编译原理基础
•
源码编译linux内核并运行一个最小的文件系统(最新整理版)
•
面试官问Linux下如何编译C程序,如何回答?为你编译演示
•
Linux5.11开始围绕PCIExpress6.0进行早期准备
•
在linux系统中模块化重新编译ext文件,实现新的文件系统
•
开发者暗示Linux5.12内核将迎来更快的IO_uring
•
飞机上一般是什么操作系统?
•
嵌入式开发时,如何跨平台编译调测
•
开源项目EasyDarwin编译:Linux系统下编译运行最新EasyDarwin的步骤介绍
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
表情
@朋友
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表