LLVM 10被發現影響Rust性能導致編譯時間變長
外媒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 中重現了同樣的行為並得出相似的結果,並且從數據上看,問題對性能的影響比較大,希望不久後可以解決。