外媒 Phoronix 在進行基準測試后發現,與 LLVM/Clang 9.0 相比,Clang 10.0 的基準測試結果整體上不錯,至少沒有出現明顯的倒退。但是,當 Rust 將其編譯器基礎遷移到 LLVM 10.0 后,對于 Rust 來說,情況似乎不太一樣。
紅帽公司的 Rust 開發者Josh Stone 在上周五發表郵件稱,在編譯相同的代碼庫時,LLVM 10.0 編譯其 Git master 主分支代碼不僅花費了更長的構建時間,而且生成了更多的指令。
Josh 和其他開發者發現,與使用 LLVM 9.0 相比,LLVM 10.0 會導致 Rust 編譯時間變慢 7~8%。在郵件列表的一個帖子中,他指出從 LLVM 9.x 到 10.x 在測試代碼庫上生成的指令大約多了 5.3%,而從 LLVM 10.x 到 LLVM 11 Git master 分支,此項數據又增加了 4.8%。
這個問題目前尚未被解決,不過多個 Rust 開發者在 LLVM 10 中重現了同樣的行為并得出相似的結果,并且從數據上看,問題對性能的影響比較大,希望不久后可以解決。