太激进了!上游 Linux 开发者反对“-O3”级别的内核优化
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 开发者反对“-O3”级别的内核优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中国移动积分查询(中国移动积分查询官网)
- 下一篇: 美股周五收盘小幅上涨 京东涨近4% 创历