Rust能實現碳減排嗎? - theregister

banq發表於2021-12-02

計算機語言如何拯救地球?答案是更高效的程式碼需要更少的資源來執行,這意味著資料中心的能源使用量更低,而且製造計算裝置並將其運送到世界各地對環境的影響也更低。

Rust 是最高效的程式語言之一。引用的來源是 2017 年的論文:該論文測量了 27 種程式語言的效能、記憶體使用和能源效率,並將 C 列為最高效的語言,但 Rust 緊隨其後,能源使用僅增加了 3%。根據這項研究,Java 使用的能量幾乎是兩倍,C# 是三倍以上,Python 是75 倍以上。

毫無疑問Rust有著作為一種系統語言的高效率,來自 Discord 和 Tenable 的案例研究表示:Rust顯示了巨大的效率提升:在 Tenable 案例中,用 Rust 重寫了一個 JavaScript 元件,並實現了 50% 的延遲改進、75% 的 CPU 使用率和 95% 的記憶體使用率降低。

垃圾收集語言本質上效率較低。垃圾收集是自動化記憶體管理的常用方法,它通過識別超出範圍的物件並釋放它們的記憶體來工作。垃圾收集器將不得不暫停程式以執行垃圾收集傳遞。

當它暫停時……該服務無法再響應請求,這意味著 Java、C# 和 JavaScript 等語言永遠無法像 C 和 Rust 那樣高效和高效能。

為什麼不直接使用 C 和 C++?原因是安全和記憶體相關的錯誤,C 和 C++ 軟體中所有高度嚴重的安全漏洞中有 70% 是由於缺乏記憶體安全。

Rust 是第一種在保持記憶體安全的同時高效的主流程式語言。 開發人員和 IT 社群所需要做的就是遷移到 Rust,程式碼將執行得更快、更安全,世界能源使用量將下降,AWS 可以關閉一半的資料中心。

如果我們要實現碳減排目標……我們將需要使用 C 或 Rust 等節能語言編寫的大多數新軟體。

但是 Rust 確實有一個臭名昭著的學習曲線。 Rust 增長最快的地方是效能提升最大的地方,例如大容量的資料庫服務,也在物聯網和嵌入式等資源受限的小型環境中。

問題是在 Rust 中編碼很困難。Java、JavaScript 和 Python 等語言被廣泛採用的原因之一是程式設計師可以更快地提高工作效率。

更多資訊見原文點選標題。

相關文章