谷歌Rust生產力高於C++兩倍?

banq發表於2024-04-01

本週在倫敦舉行的Rust Nation UK會議上,谷歌負責Android平臺工具庫的工程總監Lars Bergstrom介紹了將Go或C++遷移到Rust的經驗。

Go vs Rust
在Chocolate Factory,將Go程式碼(被認為是記憶體安全但效能不高)轉換為Rust已經顯示出了顯著的好處。

當我們從Go切換到 Rust重寫系統時,我們發現構建它需要大約相同規模的團隊大約相同的時間。
也就是說,從Go遷移到Rust時,生產力沒有損失。有趣的是,我們確實從中看到了一些好處。

  • 從Go遷移到Rust的記憶體使用量減少了
  • 隨著時間的推移,在那些用Rust重寫的服務中,Bug缺陷率有所下降,因此正確性有所提高。

C++ vs. Rust
更重要的是將C++程式碼重寫到Rust中的比較:

  • 在每一種情況下,我們都看到在Rust中構建服務以及維護和更新Rust中編寫的服務所需的工作量減少了2倍以上

谷歌正在進行類似的遷移,將開發人員從Java遷移到kolin。

總體結果:

  • 在兩個月內,大約三分之一的開發者認為他們在新語言中的生產力與舊語言一樣。
  • 超過一半的開發人員表示Rust更容易程式碼評審
  • 85%的人認為他們的Rust程式碼比系統中的其他程式碼更有可能是正確的。

相關文章