<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 1432字,需瀏覽 3分鐘

           ·

          2021-11-27 17:18

          作者 |?JEAN-LUC AUFRANC
          譯者 | 彎月
          出品 | CSDN(ID:CSDNnews)
          提到編程語(yǔ)言,人們第一時(shí)間想到的無(wú)非是:哪個(gè)編程語(yǔ)言簡(jiǎn)單易學(xué),亦或是最掙錢等。但是編程語(yǔ)言功耗問(wèn)題卻被很多人忽視。那么作為程序員的我們?nèi)绾芜x擇編程語(yǔ)言,使其以低能耗高功效地工作呢?
          2017年,葡萄牙大學(xué)的研究人員團(tuán)隊(duì)曾發(fā)表過(guò)一篇題為《各種編程語(yǔ)言的能耗》的論文,他們比較了各個(gè)編程語(yǔ)言(及其編譯器/解釋器)的能耗,為此他們研究了 27 種知名編程語(yǔ)言的運(yùn)行時(shí)、內(nèi)存使用情況以及能耗。最后,C 成為了無(wú)可爭(zhēng)議的贏家,其能耗最低,而 Python 和 Perl 則處于最末位。

          據(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 編寫的等效程序少 55%——但 Pascal 程序使用的能量少 10%。

          在人們傳統(tǒng)印象中,編譯語(yǔ)言“往往”是最節(jié)能、運(yùn)行速度最快的。首先我們來(lái)看一看編譯語(yǔ)言在二叉樹測(cè)試上的結(jié)果。

          不出意料,這項(xiàng)研究得出的結(jié)論為:編譯語(yǔ)言是最快和最節(jié)能的語(yǔ)言。C 和 C++ 語(yǔ)言是能耗最低且最快的語(yǔ)言。Go 是編譯語(yǔ)言中表現(xiàn)最差的語(yǔ)言,甚至比依賴虛擬機(jī)的 Java 或 Erlang 等還要糟糕,至少在二叉樹的測(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)化某些例程。
          參考鏈接:
          • https://www.cnx-software.com/2021/11/18/save-the-planet-program-in-c-avoid-python-perl/


          -END-

          瀏覽 65
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  人人干人人色 | 欧美操妣免费看 | 国产区视频播放 | 无码日比内射 | 久艹伊人|