太激进了!上游 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之家 辣品 - 超值导购,优惠券 最会买 - 返利返现优惠券 6655网址之家 Win10之家 Win8之家 Win7之家 Vista之家

软媒旗下软件: 魔方 旗鱼浏览器(极速内核) 云日历 酷点桌面 闪游浏览器(IE内核) Win7优化大师 Win8优化大师 Win10优化大师 软媒手机APP应用