内容字号:默认大号超大号

段落设置:取消段首缩进段首缩进

字体设置:切换到微软雅黑切换到宋体

业界
软件
手机
数码
电脑
学院
测评
图赏
视频
游戏
原创
直播
 AI
5G
苹果
微软
iPhone
Win10
精准搜索请尝试:精确搜索

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

2020/5/16 8:38:23来源:开源中国作者:局长责编:微尘评论:

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

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

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

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

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

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

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

相关文章

关键词:Linux

IT之家,软媒旗下科技门户网站 - 爱科技,爱这里。

Copyright (C)RuanMei.com, All Rights Reserved.

软媒公司版权所有