幽默之程式語言的能效:Java是最節能的語言之一, Python/Perl是最耗能之一。
能效不僅僅是一個硬體問題。您的程式語言選擇會嚴重影響您的能源消耗效率。
多年來,我們將效能與處理時間混為一談。“它的表現如何?”意味著“它的速度有多快?”但是現在情況發生了變化。開發人員,工程師甚至消費者都會做很多事情來避免CPU的大量消耗以保護他們的電池。能源效率始於硬體方面,但現在它逐漸滲透到軟體開發中。
當您嘗試衡量程式語言的效率時,會出現很多問題。首先,您使用什麼樣的指標?更快的程式語言是一種更節能的語言嗎?更快的程式語言是更環保的嗎?
但是,比較語言很困難。只需通過編譯器或虛擬機器的質量,即可輕鬆提高語言的效能。改進的原始碼與優化庫一樣重要。
一組葡萄牙研究人員研究了27種最流行的程式語言,看看速度和效率之間是否存在任何關係。
使用計算機基準遊戲,研究人員團隊通過使用最先進的編譯器,虛擬機器,直譯器和庫編譯/執行此類程式來測試這些語言。然後他們分析了考慮三個變數的不同實現的效能:能耗、執行時間,記憶體消耗。
速度並不總是等同於能源效率。C,C ++,Rust和Ada等編譯語言被列為一些最節能的語言。Java是速度最快,最節能的面嚮物件語言之一.
像Perl,Python和Ruby這樣的解釋語言是能效最低的。研究人員發現,基於CPU的能耗總是佔能源消耗的大部分。
平均而言,如果按照程式設計範例進行排序,命令式語言需要的記憶體最少,其次是物件導向的,函式性的,最後是指令碼語言。
測試程式碼的效率
研究人員在GitHub上有一個很棒的東西,他們會評估你的程式碼,看看它是多麼節能。這只是三個簡單的步驟。
- 使用您的基準名稱建立一個資料夾,例如 test-benchmark,在您實現它的語言中。
- 按照“ Operation” 部分中的說明進行 操作,然後填寫 Makefile.
- 使用 compile_all.pyscript編譯,執行和/或測量你想要的東西!或者使用make 命令自己執行它 。
評論:
這是一個非常有趣的圖表,從字面上將程式語言轉化為能源效率(從而影響全球變暖的影響)。C是標準1. Java是〜2x,Python是~75x!我們以不止一種方式為這些機器週期付費。
相關文章
- java是最值得學習的程式語言嗎?Java
- 漢語是最了不起的語言
- Python 是各年齡段開發者最愛的語言Python
- 為什麼我最喜歡的程式語言是 GoGo
- 最‘乾淨’的程式語言——空白程式語言
- 最適合初學者的語言是什麼?
- Java、Python到底誰是最好的程式語言?JavaPython
- 2015年最值得學習的程式語言是?
- 最吸金的三大程式設計能語言 C++掉出佇列程式設計C++佇列
- Python是萬能的程式語言嗎?這五大用途很重要!Python
- CFF:Java 和 JavaScript 是企業開發所用最普遍的語言JavaScript
- 最喜歡與最討厭的程式語言
- Java是一種廣泛使用的程式語言Java
- 20 種最奇怪的程式語言
- GitHub 上最流行的程式語言Github
- Python與PHP的對決:誰是工程師最喜歡和最討厭的語言PythonPHP工程師
- 什麼是Python?python是一門怎樣的程式語言?Python
- 2018 最吸金的程式語言排行揭曉,第一居然是…
- Perl語言的文書處理模式之一(轉)模式
- Rust語言最獨特的特點是什麼? - RedditRust
- 什麼是2016年最值得學習的程式語言?
- 是什麼讓C#成為最值得學習的程式語言
- GitHub上最火的開源專案及程式語言是什麼?Github
- 開發者最討厭的程式語言:Perl 名列第一,PHP、Objective-C 和 RPHPObject
- 哪種程式語言的開發者最幸福?
- 最值得你學習的程式語言
- IEEE Spectrum:2020年全球最流行語言是 PythonPython
- 什麼是Tomcat?用最簡單的語言描述它Tomcat
- python 是開源語言嗎:Python 是一種開源語言嗎?Python
- 為什麼說 Python 是開發 Web 應用最強大的語言PythonWeb
- 哪種程式語言最流行?
- Java 語言是強型別語言語言(轉)Java型別
- 你的程式語言能這樣做嗎?
- Philip Guo:2014年美國主流大學最流行程式語言是Python行程Python
- Python 是電視劇,Java 是咖啡屋小甜心,程式語言都是如何命名的?PythonJava
- 2014最流行的程式語言
- Python程式設計基礎(一)程式語言是什麼?編譯型語言和解釋型語言的區別|Python是什麼?Python程式設計編譯
- 如果說程式語言是一種宗教,你的信仰是?