2021-12-26 21:34:34|已瀏覽:270次

提到編程語言,人們第一時間想到的無非是:哪個編程語言簡單易學,亦或是最掙錢等。但是編程語言功耗問題卻被很多人忽視。那么作為程序員的我們如何選擇編程語言,使其以低能耗高功效地工作呢?
2017年,葡萄牙大學的研究人員團隊曾發表過一篇題為《各種編程語言的能耗》的論文,他們比較了各個編程語言(及其編譯器/解釋器)的能耗,為此他們研究了 27 種知名編程語言的運行時、內存使用情況以及能耗。最后,C 成為了無可爭議的贏家,其能耗最低,而 Python 和 Perl 則處于最末位。
據悉,這項研究采用了多種方法論和多個基準測試。每種語言使用十個編程問題來進行調查,幫助研究人員獲得更具有可比性、代表性和廣泛性的程序,以及編譯/執行選項和編譯器版本。
C /C++能耗最低且最快
盡管人們普遍認為程序運行速度更快時能源消耗會隨之降低,但論文中明確指出“更快的語言并不總是最節能的”,強調這并不像 E(nergy) = T(ime) x P(ower) 的物理定律那么簡單。
比如在他們的一項基準測試中,Chapel 程序的執行時間比用 Pascal 編寫的等效程序少 55%——但 Pascal 程序使用的能量少 10%。
在人們傳統印象中,編譯語言“往往”是最節能、運行速度最快的。首先我們來看一看編譯語言在二叉樹測試上的結果。
不出意料,這項研究得出的結論為:編譯語言是最快和最節能的語言。C 和 C++ 語言是能耗最低且最快的語言。Go 是編譯語言中表現最差的語言,甚至比依賴虛擬機的 Java 或 Erlang 等還要糟糕,至少在二叉樹的測試中是這樣。
Perl、Lua 和 Python能耗高
下面看一下解釋型語言在速度與能耗方面的表現,由測試可知解釋型語言才是能耗最高的語言,比如 Perl、Lua 和 Python。
而5 種最慢的語言也是解釋型語言,如:Lua、Python、Perl、Ruby 和 Type。但在使用正則表達式操作字符串時,5 種最節能的語言中有三種解釋型語言,分別是 TypeScript、JavaScript 和 PHP。
請注意,所有測試都是在如下環境運行:Intel Core i5-4460 Haswell CPU @ 3.20GHz,16GBRAM,Ubuntu Server 16.10 操作系統和Linux 4.8.0-22。考慮到如今 MicroPyhon 可以在各種微控制器上運行,猜它在體積更小的設備上的表現可能不會那么糟糕。
此外,這項研究還根據時間、內存和能耗參數的不同目標組合,對每種語言進行了排名,而在這些指標中 C 語言始終名列前茅。這與人們長久以來的認知相同,如果你想優化程序,提高續航時間,降低功耗,則 C 語言絕對是最佳選擇、匯編語言、SIMD 指令或加速器的自定義指令優化某些例程。
本文由培訓無憂網北京達內教育課程顧問老師整理發布,更多C語言培訓課程信息可關注培訓無憂網C語言培訓頻道或添加老師微信:15033336050
注:尊重原創文章,轉載請注明出處和鏈接 http://www.hebeijilong.cn/news-id-10118.html 違者必究!部分文章來源于網絡由培訓無憂網編輯部人員整理發布,內容真實性請自行核實或聯系我們,了解更多相關資訊請關注c語言頻道查看更多,了解相關專業課程信息您可在線咨詢也可免費申請試課。關注官方微信了解更多:150 3333 6050