[導(dǎo)讀]作者|?JEAN-LUCAUFRANC譯者|彎月出品|CSDN(ID:CSDNnews)提到編程語言,人們第一時間想到的無非是:哪個編程語言簡單易學(xué),亦或是最掙錢等。但是編程語言功耗問題卻被很多人忽視。那么作為程序員的我們?nèi)绾芜x擇編程語言,使其以低能耗高功效地工作呢?2017年,...
作者 | JEAN-LUC AUFRANC
譯者 | 彎月
出品 | CSDN(ID:CSDNnews)提到編程語言,人們第一時間想到的無非是:哪個編程語言簡單易學(xué),亦或是最掙錢等。但是編程語言功耗問題卻被很多人忽視。那么作為程序員的我們?nèi)绾芜x擇編程語言,使其以低能耗高功效地工作呢?2017年,葡萄牙大學(xué)的研究人員團(tuán)隊曾發(fā)表過一篇題為《各種編程語言的能耗》的論文,他們比較了各個編程語言(及其編譯器/解釋器)的能耗,為此他們研究了 27 種知名編程語言的運行時、內(nèi)存使用情況以及能耗。最后,C 成為了無可爭議的贏家,其能耗最低,而 Python 和 Perl 則處于最末位。據(jù)悉,這項研究采用了多種方法論和多個基準(zhǔn)測試。每種語言使用十個編程問題來進(jìn)行調(diào)查,幫助研究人員獲得更具有可比性、代表性和廣泛性的程序,以及編譯/執(zhí)行選項和編譯器版本。
C /C 能耗最低且最快
盡管人們普遍認(rèn)為程序運行速度更快時能源消耗會隨之降低,但論文中明確指出“更快的語言并不總是最節(jié)能的”,強調(diào)這并不像 E(nergy) = T(ime) x P(ower) 的物理定律那么簡單。
比如在他們的一項基準(zhǔn)測試中,Chapel 程序的執(zhí)行時間比用 Pascal 編寫的等效程序少 55%——但 Pascal 程序使用的能量少 10%。
在人們傳統(tǒng)印象中,編譯語言“往往”是最節(jié)能、運行速度最快的。首先我們來看一看編譯語言在二叉樹測試上的結(jié)果。
不出意料,這項研究得出的結(jié)論為:編譯語言是最快和最節(jié)能的語言。C 和 C 語言是能耗最低且最快的語言。Go 是編譯語言中表現(xiàn)最差的語言,甚至比依賴虛擬機的 Java 或 Erlang 等還要糟糕,至少在二叉樹的測試中是這樣。
Perl、Lua 和 Python能耗高
下面看一下解釋型語言在速度與能耗方面的表現(xiàn),由測試可知解釋型語言才是能耗最高的語言,比如 Perl、Lua 和 Python。
而5 種最慢的語言也是解釋型語言,如:Lua、Python、Perl、Ruby 和 Type。但在使用正則表達(dá)式操作字符串時,5 種最節(jié)能的語言中有三種解釋型語言,分別是 TypeScript、JavaScript 和 PHP。
請注意,所有測試都是在如下環(huán)境運行:Intel Core i5-4460 Haswell CPU @ 3.20GHz,16GBRAM,Ubuntu Server 16.10 操作系統(tǒng)和Linux 4.8.0-22??紤]到如今 MicroPyhon 可以在各種微控制器上運行,猜它在體積更小的設(shè)備上的表現(xiàn)可能不會那么糟糕。此外,這項研究還根據(jù)時間、內(nèi)存和能耗參數(shù)的不同目標(biāo)組合,對每種語言進(jìn)行了排名,而在這些指標(biāo)中 C 語言始終名列前茅。這與人們長久以來的認(rèn)知相同,如果你想優(yōu)化程序,提高續(xù)航時間,降低功耗,則 C 語言絕對是最佳選擇、匯編語言、SIMD 指令或加速器的自定義指令優(yōu)化某些例程。參考鏈接:
-
https://www.cnx-software.com/2021/11/18/save-the-planet-program-in-c-avoid-python-perl/
-END-
本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
本文轉(zhuǎn)自公眾號“CSDN”,ID:CSDNnews)作者?|?Serdar?Yegulalp?譯者?|?王艷妮,責(zé)編?|?屠敏C語言五十年來一直是軟件開發(fā)的一種主力語言。以下是它在如今的2019年與C,Java,C#,G...
關(guān)鍵字:
編程語言
PYTHON
GO
NET
“驗證很多人都清楚,驗證技術(shù)一直在發(fā)展,個人技術(shù)成長不進(jìn)則退。于是采用最新的驗證方法和趨勢是很多驗證牛人趨之若鶩的事情。一旦驗證大佬嘗試了某個事情,可能很快就會在團(tuán)隊傳播起來,這就是偶像效應(yīng)。這時候,這項技術(shù)仿佛就是經(jīng)過...
關(guān)鍵字:
BUG
EDA
VERILOG
編程語言
本文轉(zhuǎn)自公眾號“CSDN”,ID:CSDNnews)作者?|?Serdar?Yegulalp?譯者?|?王艷妮,責(zé)編?|?屠敏C語言五十年來一直是軟件開發(fā)的一種主力語言。以下是它在如今的2019年與C,Java,C#,G...
關(guān)鍵字:
編程語言
準(zhǔn)備好與Arduino嘗試不同的東西了嗎?您不必局限于用C編程。將這些替代語言用于測試驅(qū)動器。
關(guān)鍵字:
Arduino
編程語言
素材來源|?CSDN,排版|嵌入式專欄C語言的發(fā)展有五十多年了,在所有高級編程語言中,C語言屬于元老級別。在過去,TIOBE編程語言排行榜中,C語言只有被JAVA超越過,不過近兩年,C語言穩(wěn)穩(wěn)的排名第一,在這9月的排行中...
關(guān)鍵字:
C語言
編程語言
大家好,我是張巧龍,今天和大家聊聊一門新興國產(chǎn)編程語言—Go,/*聲明*/每個編程語言都有其優(yōu)缺點,本文并未通過貶低其他編程語言來凸顯Go的優(yōu)勢,相反,Go也有其缺點。01?什么是Go?Go(又稱Golang)是Goog...
關(guān)鍵字:
編程語言
素材來源|?CSDN,排版|嵌入式專欄C語言的發(fā)展有五十多年了,在所有高級編程語言中,C語言屬于元老級別。在過去,TIOBE編程語言排行榜中,C語言只有被JAVA超越過,不過近兩年,C語言穩(wěn)穩(wěn)的排名第一,在這9月的排行中...
關(guān)鍵字:
C語言
編程語言
昨天(10月22日)下午,在華為開發(fā)者大會2021(Together)上,HarmonyOS3開發(fā)者預(yù)覽版正式發(fā)布。同時,華為消費者業(yè)務(wù)軟件部總裁龔體表示,在不久的將來,華為將發(fā)布為HarmonyOS全新研發(fā)的編程語言,...
關(guān)鍵字:
華為
編程語言
鴻蒙
據(jù)華為終端官微,在今天下午的HDC2021(華為開發(fā)者大會)上,華為透露將發(fā)布自研鴻蒙編程語言,為鴻蒙生態(tài)基礎(chǔ)設(shè)施建設(shè)補上最后一環(huán)。預(yù)計這款編程語言將是HarmonyOS3的重要支撐,也將為未來鴻蒙生態(tài)的完善添磚加瓦。按...
關(guān)鍵字:
華為
編程語言
鴻蒙
據(jù)華為終端官微,在10月22日下午的HDC2021(華為開發(fā)者大會)上,華為透露將發(fā)布自研鴻蒙編程語言,為鴻蒙生態(tài)基礎(chǔ)設(shè)施建設(shè)補上最后一環(huán)。
關(guān)鍵字:
華為
HarmonyOS3
編程語言
來自電腦報日前,華為在全聯(lián)接大會上發(fā)布了全新操作系統(tǒng)“openEuler歐拉”。據(jù)介紹,在ICT領(lǐng)域,華為提供服務(wù)器、存儲、云服務(wù)、邊緣計算、基站、路由器、工業(yè)控制等產(chǎn)品和解決方案,都需要搭載操作系統(tǒng)。但目前的操作系統(tǒng)太...
關(guān)鍵字:
鴻蒙
編程語言
操作系統(tǒng)
FPGA開發(fā)使用的是硬件描述語言(HardwareDescriptionLanguage,HDL)或者是寄存器傳輸級語言(RegisterTransferLanguage,RTL),它是用來描述數(shù)字電路功能和行為的語言,...
關(guān)鍵字:
FPGA
編程語言
今天分享一篇關(guān)于C語言為何如此有魅力的文章,如果你還在學(xué)習(xí)哪門語言的路口抉擇,建議可以認(rèn)真看看~以下為CSDN譯文:沒有什么技術(shù)可以應(yīng)用長達(dá)50年之久,除非它真的比大多數(shù)其他東西都要好用——對于一種計算機行業(yè)的技術(shù)來說尤...
關(guān)鍵字:
C語言
編程語言
自從編程語言誕生以來,人們常常就哪種語言速度最快的問題爭論不休。無論是嚴(yán)肅的科學(xué)研究,還是深夜酒吧的喧囂,都不乏關(guān)于這個話題的爭執(zhí)。文本不打算就這個問題展開討論,我們不妨從一個更高的層面來看一看這個問題:如何比較兩種截然...
關(guān)鍵字:
編程語言
IEEESpectrum2021年度編程語言排行榜現(xiàn)已發(fā)布。該榜單一年發(fā)布一次,今年是其發(fā)布的第八年。今年的排行榜包含55種語言,其排序綜合8個重要線上數(shù)據(jù)源的11個指標(biāo)而成,例如CareerBuilder、GitHub...
關(guān)鍵字:
編程語言
前幾日,TIOBE官方最新發(fā)布了8月的編程語言榜單:??除了“常青樹”C語言以外,其他語言的排名及變化同樣值得關(guān)注:?Java依舊流行,因為它是一種面向?qū)ο蟮恼Z言,常用在Android應(yīng)用程序開發(fā),所以目前仍被許多大公司...
關(guān)鍵字:
編程語言
給大家看個有意思的榜單。前幾日,TIOBE官方最新發(fā)布了8月的編程語言榜單:??除了“常青樹”C語言以外,其他語言的排名及變化同樣值得關(guān)注:?Java依舊流行,因為它是一種面向?qū)ο蟮恼Z言,常用在Android應(yīng)用程序開發(fā)...
關(guān)鍵字:
編程語言
先拋結(jié)論:這份報告,含金量很足,請認(rèn)真研讀:)剛剛,騰訊正式對外發(fā)布2020年度《騰訊研發(fā)大數(shù)據(jù)報告》,這份由騰訊技術(shù)委員會出品的報告,披露了過去一年騰訊在研發(fā)投入、研發(fā)效能及開源協(xié)同等方面的重要數(shù)據(jù)。大家普...
關(guān)鍵字:
騰訊
編程語言