Ubuntu進一步解釋為何不對所有軟體包進行「-O3」優化
自去年以來,Canonical 一直在研究使用-O3 編譯器最佳化來建立Ubuntu 軟體包,以便為Ubuntu Linux 提供更好的效能。但幾週前,他們決定不對所有軟體包使用-O3 優化。現在,他們提供了更多工程見解,以說明他們的理由以及對更多軟體包使用-O3 編譯器優化的調查結果。
長話短說,對於發行版範圍的-O3 編譯器最佳化,他們沒有足夠引人注目的效能優勢來證明這種努力是合理的。他們還發現了一些效能倒退,並且-O3 優化在某些情況下會對某些載入時間產生不利影響,並且會使二進位檔案大小變大。
例如,他們發現GNU Radio 的效能下降了12%,TIFF 解壓縮也倒退了近12%,使用-O3 優化預設值後,所有Debian 軟體套件的大小增加了約6%,桌面ISO 的大小增加了近4%。
在Ubuntu Discourse上,他們總結了他們的發現並得出結論:
「整個發行版的O3 似乎並沒有提供更好的效能,並且在互動任務中會倒退。它最多會影響11.9% 的載入時間,這對努力實現快速應用程式啟動的容器工作負載是不利的。
總體而言,這種倒退主要是由於可執行檔案大小的增加所造成的。此外,在某些情況下,-O3 和連結時間最佳化結合在一起可能會導致過多的函數內聯,進而導致效能倒退(可能是透過暫存器壓力或指令快取抖動)。
可以說,所有這些都符合傳統觀點:-O3 在某些情況下可以提供幫助,但不是一個合理的預設值。但驗證這一點肯定比僅僅依賴民間知識好!此外,我們仍然希望研究更多方法來提高Ubuntu 的性能,每次我們鍛鍊基準測試能力時,我們都會做得更好。 」
至少他們仍將探索選擇性地為某些軟體包啟用-O3 優化,以便獲得合理的效能優勢。

Ubuntu 25.04 預計將於4 月中旬發布,並且確實帶來了一些其他效能優勢,同時更多的效能測試正在進行中。