幽默之程式語言的能效:Java是最節能的語言之一, Python/Perl是最耗能之一。

banq發表於2019-09-17

能效不僅僅是一個硬體問題。您的程式語言選擇會嚴重影響您的能源消耗效率。

多年來,我們將效能與處理時間混為一談。“它的表現如何?”意味著“它的速度有多快?”但是現在情況發生了變化。開發人員,工程師甚至消費者都會做很多事情來避免CPU的大量消耗以保護他們的電池。能源效率始於硬體方面,但現在它逐漸滲透到軟體開發中。

當您嘗試衡量程式語言的效率時,會出現很多問題。首先,您使用什麼樣的指標?更快的程式語言是一種更節能的語言嗎?更快的程式語言是更環保的嗎?

但是,比較語言很困難。只需通過編譯器或虛擬機器的質量,即可輕鬆提高語言的效能。改進的原始碼與優化庫一樣重要。

一組葡萄牙研究人員研究了27種最流行的程式語言,看看速度和效率之間是否存在任何關係。

使用計算機基準遊戲,研究人員團隊通過使用最先進的編譯器,虛擬機器,直譯器和庫編譯/執行此類程式來測試這些語言。然後他們分析了考慮三個變數的不同實現的效能:能耗、執行時間,記憶體消耗。

幽默之程式語言的能效:Java是最節能的語言之一, Python/Perl是最耗能之一。速度並不總是等同於能源效率。C,C ++,Rust和Ada等編譯語言被列為一些最節能的語言。Java是速度最快,最節能的面嚮物件語言之一.

像Perl,Python和Ruby這樣的解釋語言是能效最低的。研究人員發現,基於CPU的能耗總是佔能源消耗的大部分。

平均而言,如果按照程式設計範例進行排序,命令式語言需要的記憶體最少,其次是物件導向的,函式性的,最後是指令碼語言。

測試程式碼的效率

研究人員在GitHub上有一個很棒的東西,他們會評估你的程式碼,看看它是多麼節能。這只是三個簡單的步驟。

  1. 使用您的基準名稱建立一個資料夾,例如  test-benchmark,在您實現它的語言中。
  2. 按照“ Operation”  部分中的說明進行  操作,然後填寫 Makefile.
  3. 使用  compile_all.pyscript編譯,執行和/或測量你想要的東西!或者使用make  命令自己執行它  。

評論:

這是一個非常有趣的圖表,從字面上將程式語言轉化為能源效率(從而影響全球變暖的影響)。C是標準1. Java是〜2x,Python是~75x!我們以不止一種方式為這些機器週期付費。

相關文章