《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 人工智能 > 業(yè)界動(dòng)態(tài) > Python、Perl 墊底,C語(yǔ)言才是最環(huán)保的編程語(yǔ)言!

Python、Perl 墊底,C語(yǔ)言才是最環(huán)保的編程語(yǔ)言!

2021-11-29
來(lái)源:CSDN
關(guān)鍵詞: 編程語(yǔ)言 能耗

  據(jù)悉,這項(xiàng)研究采用了多種方法論和多個(gè)基準(zhǔn)測(cè)試。每種語(yǔ)言使用十個(gè)編程問(wèn)題來(lái)進(jìn)行調(diào)查,幫助研究人員獲得更具有可比性、代表性和廣泛性的程序,以及編譯/執(zhí)行選項(xiàng)和編譯器版本。

  C /C++能耗最低且最快

  盡管人們普遍認(rèn)為程序運(yùn)行速度更快時(shí)能源消耗會(huì)隨之降低,但論文中明確指出“更快的語(yǔ)言并不總是最節(jié)能的”,強(qiáng)調(diào)這并不像 E(nergy) = T(ime) x P(ower) 的物理定律那么簡(jiǎn)單。

  比如在他們的一項(xiàng)基準(zhǔn)測(cè)試中,Chapel 程序的執(zhí)行時(shí)間比用 Pascal 編寫(xiě)的等效程序少 55%——但 Pascal 程序使用的能量少 10%。

  在人們傳統(tǒng)印象中,編譯語(yǔ)言“往往”是最節(jié)能、運(yùn)行速度最快的。

  不出意料,這項(xiàng)研究得出的結(jié)論為:編譯語(yǔ)言是最快和最節(jié)能的語(yǔ)言。C 和 C++ 語(yǔ)言是能耗最低且最快的語(yǔ)言。Go 是編譯語(yǔ)言中表現(xiàn)最差的語(yǔ)言,甚至比依賴(lài)虛擬機(jī)的 Java 或 Erlang 等還要糟糕,至少在二叉樹(shù)的測(cè)試中是這樣。

  Perl、Lua 和 Python能耗高

  下面看一下解釋型語(yǔ)言在速度與能耗方面的表現(xiàn),由測(cè)試可知解釋型語(yǔ)言才是能耗最高的語(yǔ)言,比如 Perl、Lua 和 Python。

  而5 種最慢的語(yǔ)言也是解釋型語(yǔ)言,如:Lua、Python、Perl、Ruby 和 Type。但在使用正則表達(dá)式操作字符串時(shí),5 種最節(jié)能的語(yǔ)言中有三種解釋型語(yǔ)言,分別是 TypeScript、JavaScript 和 PHP。

  請(qǐng)注意,所有測(cè)試都是在如下環(huán)境運(yùn)行:Intel Core i5-4460 Haswell CPU @ 3.20GHz,16GBRAM,Ubuntu Server 16.10 操作系統(tǒng)和Linux 4.8.0-22??紤]到如今 MicroPyhon 可以在各種微控制器上運(yùn)行,猜它在體積更小的設(shè)備上的表現(xiàn)可能不會(huì)那么糟糕。

  此外,這項(xiàng)研究還根據(jù)時(shí)間、內(nèi)存和能耗參數(shù)的不同目標(biāo)組合,對(duì)每種語(yǔ)言進(jìn)行了排名,而在這些指標(biāo)中 C 語(yǔ)言始終名列前茅。這與人們長(zhǎng)久以來(lái)的認(rèn)知相同,如果你想優(yōu)化程序,提高續(xù)航時(shí)間,降低功耗,則 C 語(yǔ)言絕對(duì)是最佳選擇、匯編語(yǔ)言、SIMD 指令或加速器的自定義指令優(yōu)化某些例程。




1.png

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀(guān)點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話(huà)通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話(huà):010-82306118;郵箱:aet@chinaaet.com。