服务器之家

服务器之家 > 正文

太激进了!上游 Linux 开发者反对“-O3”级别的内核优化

时间:2020-05-16 21:28     来源/作者:开源中国

WireGuard 作者 Jason A. Donenfeld 上周向Linux 内核提交了一个补丁,他建议在使用新发布的 GCC 10 编译器或更高的版本时,将内核的默认编译优化级别由 -O2 设置为-O3。

Jason 解释道,GCC 10 对-O2 进行了改进,以便在使用-flto 时缩短编译时间,不过这似乎是以牺牲性能为代价来实现的。而现在的-O3 优化不存在和 10 年前同样的 bug,所以当 gcc >= 10 时,他提交的补丁会将 Linux 内核的编译优化默认设置为 -O3 级别。

太激进了!上游 Linux 开发者反对“-O3”级别的内核优化

对于这个提交,部分开发者表示有兴趣支持 -O3 优化级别的子集功能,甚至探索-Og 级别的优化,并努力缩短构建内核花费的时间,以便于测试。

不过总体看来,将内核默认编译优化级别设置为 -O3 的提案遭到了广泛的反对,因为这不一定会让内核变得更快,反而有可能会引入因优化而导致出现的特殊特性,甚至会产生让代码变得更慢的地方。

Linus Torvalds 也进行了表态,他不认为这是一个明智的想法,尤其是GCC -O3 级别的优化有时会导致出现问题。

GCC 开发者 Richard Biener 也写道,他不建议在内核中使用 -O3 级别的优化。他曾经提出使用 feedback/profile-driven 的数据让编译器做出更好优化决策的想法,但这会是一个非常庞大的任务,需要为 FDO 收集到足够的数据才能体会到方便之处。

因此,至少目前来看,Linux 内核似乎不会追求这种更具侵略性、更激进的编译器优化级别。

标签:

相关文章

热门资讯

歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
返回顶部