一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

各種編程語(yǔ)言的能耗對(duì)比分析

FPGA之家 ? 來(lái)源:FPGA之家 ? 作者:FPGA之家 ? 2022-10-20 11:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

手機(jī)快沒(méi)電時(shí),管理軟件往往會(huì)提醒我們關(guān)掉某些耗電量高的應(yīng)用??梢?jiàn),除了硬件廠商外,軟件廠商也應(yīng)該重視能耗問(wèn)題。在這篇文章中,研究者分析了一下各種編程語(yǔ)言的能耗對(duì)比。

5757a344-3234-11ed-ba43-dac502259ad0.png

當(dāng)能耗也成為了一個(gè)重要指標(biāo),我們要怎么選擇編程語(yǔ)言?2017 年,由 6 名葡萄牙研究者組成的團(tuán)隊(duì)決定對(duì)這一問(wèn)題進(jìn)行調(diào)查并發(fā)表了一篇名為《Energy Efficiency Across Programming Languages》的論文。他們用 27 種語(yǔ)言寫出了 10 個(gè)問(wèn)題的解決方案(遵循同樣的算法),然后運(yùn)行這些方案,記錄每種編程語(yǔ)言消耗的電量以及速度和內(nèi)存使用情況,得到的排序結(jié)果如下圖所示:

576a8888-3234-11ed-ba43-dac502259ad0.png

通過(guò)這項(xiàng)研究,他們得出了一些有意思的結(jié)論,比如運(yùn)行速度快的語(yǔ)言未必能耗小。 在論文中,作者還根據(jù)編程語(yǔ)言的執(zhí)行類型(編譯、虛擬機(jī)或解釋)和編程范式(命令式、函數(shù)式、面向?qū)ο蠛湍_本)對(duì)結(jié)果進(jìn)行了分析。 具體而言,研究者使用了來(lái)自 Computer Language Benchmarks Game(一個(gè)用于比較性能的免費(fèi)軟件項(xiàng)目,其中包含一組標(biāo)準(zhǔn)的算法問(wèn)題和用于運(yùn)行測(cè)試的框架)的 10 個(gè)問(wèn)題,使得研究更有可比性和代表性。 運(yùn)行各種基準(zhǔn)測(cè)試非常重要,因?yàn)樗鼈兊慕Y(jié)果會(huì)由于所執(zhí)行的測(cè)試而有所不同。例如,總體而言,C 語(yǔ)言被認(rèn)為是最快的,也是最節(jié)能的。但是在涉及掃描 DNA 數(shù)據(jù)庫(kù)中特定基因序列的基準(zhǔn)測(cè)試中,Rust 是最節(jié)能的,而 C 語(yǔ)言位居第三。 即使在同一測(cè)試中,「最佳」語(yǔ)言也取決于你的標(biāo)準(zhǔn)。比如在一個(gè) C 排第二、Rust 排第一的測(cè)試中,如果按內(nèi)存使用情況對(duì)結(jié)果進(jìn)行排序,Rust 會(huì)跌掉 9 個(gè)位次。而在一個(gè) Fortran 能效第二高的測(cè)試中,如果結(jié)果按照運(yùn)行時(shí)間排序,它也下降了 6 個(gè)位次。 研究者指出,他們嚴(yán)格遵守 CLBG 項(xiàng)目關(guān)于編譯器版本和最佳優(yōu)化標(biāo)志的指導(dǎo)方針。功耗的測(cè)量使用一個(gè)來(lái)自英特爾的工具——Running Average Power Limit,每個(gè)程序運(yùn)行 10 遍。作者表示,「這是為了減少冷啟動(dòng)和緩存效應(yīng)的影響,并能夠分析測(cè)量的一致性,避免異常值」。 為了增強(qiáng)一致性,所有測(cè)試都在一個(gè)運(yùn)行 Linux Ubuntu Server 16.10(內(nèi)核版本 4.8.0-22-generic)的臺(tái)式機(jī)上運(yùn)行。

01

運(yùn)行速度快的語(yǔ)言更節(jié)能嗎?

這篇論文認(rèn)真地研究了一個(gè)普遍的假設(shè):速度越快的程序消耗的能源就越少。研究者指出,其實(shí),這并不像物理學(xué)定律 E(nergy) = T(ime) x P(ower) 那么簡(jiǎn)單。這是因?yàn)殡娏Σ⒉话凑找欢ǖ乃俾蔬M(jìn)行消耗。在其他研究者的一項(xiàng)研究中,一個(gè) Chapel 程序的運(yùn)行時(shí)間比另一個(gè)用 Pascal 寫的等價(jià)程序少 55%,但測(cè)量結(jié)果卻表明,那個(gè) Pascal 程序所用的能量反而要少 10%。 因此,盡管普遍認(rèn)為程序運(yùn)行速度更快時(shí)能耗會(huì)下降,但研究者明確指出「速度更快的語(yǔ)言并不總是更節(jié)能。」 這可能是一個(gè)很難回答的問(wèn)題,因?yàn)楣氖艿皆S多因素的影響(包括編譯器的質(zhì)量和使用的庫(kù))。但最終,研究人員總結(jié)出,無(wú)論是編譯型語(yǔ)言、解釋型語(yǔ)言還是虛擬機(jī),其實(shí)大部分能量(平均 88% 左右)是由 CPU 消耗的。 在對(duì)實(shí)驗(yàn)結(jié)果分析研究之后,研究者還得出結(jié)論:DRAM 的峰值使用量與能耗之間「幾乎沒(méi)有關(guān)系」。該研究為一個(gè)長(zhǎng)期存在的問(wèn)題提供了答案:「速度更快就更環(huán)保嗎?」是的,的確是這樣,在按照?qǐng)?zhí)行時(shí)間進(jìn)行排序時(shí),前 5 種最節(jié)能的語(yǔ)言依然排在前 5 名,而且在能量和時(shí)間值方面的差距很小。 實(shí)際上,在 10 個(gè)基準(zhǔn)問(wèn)題測(cè)試中,有 9 個(gè)得分最高者(速度和能源效率兩方面)是速度最快和能源效率最高的三種語(yǔ)言之一,這并沒(méi)有讓研究者感到驚訝。眾所周知,就像研究中的數(shù)據(jù)所顯示的一樣,C、C++ 和 Rust 這三種排名最靠前的語(yǔ)言都經(jīng)過(guò)了大量?jī)?yōu)化,在執(zhí)行性能上都比較高效。 但是按照運(yùn)行時(shí)間對(duì)其他 24 種語(yǔ)言進(jìn)行排名時(shí),情況就不一樣了。只有 4 種語(yǔ)言保持相同的能耗和時(shí)間排名(OCaml、Haskel、Racket 和 Python),而其余語(yǔ)言則徹底散開(kāi)。 即使在單項(xiàng)基準(zhǔn)測(cè)試中,也存在速度快但不節(jié)能的語(yǔ)言。

02

編譯型語(yǔ)言的優(yōu)點(diǎn)

編譯型語(yǔ)言似乎是最節(jié)能和運(yùn)行最快的語(yǔ)言,作者甚至可以在論文中用數(shù)字量化這種差異。 平均而言,編譯語(yǔ)言需要花費(fèi) 120J 能量來(lái)運(yùn)行解決方案,而虛擬機(jī)和解釋型語(yǔ)言要分別花費(fèi) 576J 和 2365J。 在比較執(zhí)行時(shí)間時(shí),研究者也采用了相同的精度,得出的結(jié)論是:平均而言,編譯語(yǔ)言花費(fèi) 5103 毫秒,虛擬機(jī)語(yǔ)言花費(fèi) 20623 毫秒,解釋型語(yǔ)言花費(fèi) 87614 毫秒。 兩項(xiàng)排名中的前 4 名均為編譯型語(yǔ)言(有一個(gè)例外,Java 語(yǔ)言)。

57863b5a-3234-11ed-ba43-dac502259ad0.png

5 種最慢的語(yǔ)言都是解釋型語(yǔ)言:Lua、Python、Perl、Ruby 和 Typescript。5 種能耗最多的語(yǔ)言也都是解釋型語(yǔ)言:Perl、Python、Ruby、JRuby 和 Lua。 但同時(shí),在使用正則表達(dá)式操作字符串時(shí),5 種最節(jié)能的語(yǔ)言中有三種(TypeScript、JavaScript 和 PHP)是解釋型語(yǔ)言。盡管在其他情況下,它們往往不是很節(jié)能。 編譯型語(yǔ)言在占用內(nèi)存最少的排名中也占據(jù)了前 5 名。

57931f3c-3234-11ed-ba43-dac502259ad0.png

研究者稱:「平均而言,編譯語(yǔ)言需要 125Mb,虛擬機(jī)語(yǔ)言需要 285Mb,而解釋語(yǔ)言則需要 426Mb。」具體來(lái)說(shuō),有 4 種解釋型語(yǔ)言在這項(xiàng)排名中墊底,這意味著它們消耗了最多的內(nèi)存空間。 「如果按照它們的編程范式進(jìn)行排序,命令式語(yǔ)言需要 116Mb,面向?qū)ο笳Z(yǔ)言需要 249Mb,函數(shù)式編程語(yǔ)言是 251Mb,腳本需要 421Mb?!? 實(shí)際上,當(dāng)比較不同范式時(shí),命令式編程通常排在首位。與面向?qū)ο?、函?shù)式以及腳本范式的基準(zhǔn)程序相比,命令式編程的基準(zhǔn)程序平均使用的能源少得多,運(yùn)行速度也更快。

57a3790e-3234-11ed-ba43-dac502259ad0.png

但是有很多因素需要考慮。研究者稱「很顯然,不同的編程范式,甚至同一范式中的語(yǔ)言對(duì)能耗、時(shí)間、內(nèi)存的影響也完全不同」。但是,其中哪一個(gè)因素最重要取決于你自己的需求情況(例如,后臺(tái)任務(wù)并不總是需要最快的運(yùn)行時(shí)間)。 某些應(yīng)用程序需要同時(shí)考慮兩個(gè)因素,如能耗和執(zhí)行時(shí)間。研究者稱:「在這樣的情況下,C 語(yǔ)言是最佳的解決方案,因?yàn)樗谶@兩個(gè)方面都很有優(yōu)勢(shì)?!谷绻阆朐诠?jié)省內(nèi)存的同時(shí)節(jié)省時(shí)間,那么 C 語(yǔ)言、Pascal 和 Go 語(yǔ)言都可以。如果你正在觀察 3 個(gè)變量(時(shí)間、能耗和內(nèi)存使用情況),那么結(jié)論也是一樣的。但是,如果你只是想在使用更少內(nèi)存的同時(shí)節(jié)省能源,那么最好的選擇是 C 語(yǔ)言或 Pascal。

57b512d6-3234-11ed-ba43-dac502259ad0.png

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:27種不同編程語(yǔ)言能耗對(duì)比!

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    TaskPool和Worker的對(duì)比分析

    ,并提高系統(tǒng)的整體性能。 本文將從實(shí)現(xiàn)特點(diǎn)和適用場(chǎng)景兩個(gè)方面來(lái)進(jìn)行TaskPool與Worker的比較。 實(shí)現(xiàn)特點(diǎn)對(duì)比 表1 TaskPool和Worker的實(shí)現(xiàn)特點(diǎn)對(duì)比 實(shí)現(xiàn)
    發(fā)表于 06-18 06:43

    國(guó)內(nèi)外電機(jī)結(jié)構(gòu) 工藝對(duì)比分析

    純分享帖,需要者可點(diǎn)擊附件免費(fèi)獲取完整資料~~~*附件:國(guó)內(nèi)外電機(jī)結(jié)構(gòu) 工藝對(duì)比分析.pdf【免責(zé)聲明】本文系網(wǎng)絡(luò)轉(zhuǎn)載,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)第一時(shí)間告知,刪除內(nèi)容!
    發(fā)表于 05-29 14:06

    主流汽車電子SoC芯片對(duì)比分析

    主流汽車電子SoC芯片對(duì)比分析 隨著汽車智能化、電動(dòng)化趨勢(shì)加速,系統(tǒng)級(jí)芯片(SoC)已成為汽車電子核心硬件。本文從技術(shù)參數(shù)、市場(chǎng)定位、應(yīng)用場(chǎng)景及國(guó)產(chǎn)化進(jìn)程等維度,對(duì)主流汽車電子SoC芯片進(jìn)行對(duì)比分析
    的頭像 發(fā)表于 05-23 15:33 ?1890次閱讀

    半導(dǎo)體激光器和光纖激光器的對(duì)比分析

    半導(dǎo)體激光器和光纖激光器是現(xiàn)代激光技術(shù)中的兩種重要類型,它們?cè)诮Y(jié)構(gòu)、工作原理、性能及應(yīng)用領(lǐng)域等方面有著顯著的區(qū)別。本文將從增益介質(zhì)、發(fā)光機(jī)理、散熱性能、輸出特性及應(yīng)用領(lǐng)域等多個(gè)方面,對(duì)這兩種激光器進(jìn)行詳細(xì)的對(duì)比分析
    的頭像 發(fā)表于 02-03 14:18 ?1485次閱讀

    RoCE與IB對(duì)比分析(二):功能應(yīng)用篇

    在上一篇中,我們對(duì)RoCE、IB的協(xié)議棧層級(jí)進(jìn)行了詳細(xì)的對(duì)比分析,二者本質(zhì)沒(méi)有不同,但基于實(shí)際應(yīng)用的考量,RoCE在開(kāi)放性、成本方面更勝一籌。本文我們將繼續(xù)分析RoCE和IB在擁塞控制、QoS、ECMP三個(gè)關(guān)鍵功能中的性能表現(xiàn)。
    的頭像 發(fā)表于 11-15 14:03 ?1280次閱讀
    RoCE與IB<b class='flag-5'>對(duì)比分析</b>(二):功能應(yīng)用篇

    對(duì)比Python與Java編程語(yǔ)言

    Python與Java都是目前非常流行的編程語(yǔ)言,它們各有其獨(dú)特的優(yōu)勢(shì)和適用場(chǎng)景。以下是對(duì)這兩種編程語(yǔ)言對(duì)比: 一、語(yǔ)法和易用性 Pyth
    的頭像 發(fā)表于 11-15 09:31 ?1101次閱讀

    光伏電站運(yùn)維管理系統(tǒng)與傳統(tǒng)運(yùn)維模式對(duì)比分析

    ?????? 光伏電站運(yùn)維管理系統(tǒng)與傳統(tǒng)運(yùn)維模式對(duì)比分析 ?????? 隨著全球?qū)稍偕茉吹年P(guān)注度不斷提升,光伏電站作為綠色能源的重要組成部分,其運(yùn)維管理顯得尤為重要。傳統(tǒng)的運(yùn)維模式已逐漸無(wú)法滿足
    的頭像 發(fā)表于 11-08 16:14 ?839次閱讀
    光伏電站運(yùn)維管理系統(tǒng)與傳統(tǒng)運(yùn)維模式<b class='flag-5'>對(duì)比分析</b>

    MCU編程語(yǔ)言和開(kāi)發(fā)環(huán)境介紹

    微控制器單元(Microcontroller Unit,簡(jiǎn)稱MCU)是嵌入式系統(tǒng)的核心,廣泛應(yīng)用于各種電子產(chǎn)品中。隨著技術(shù)的發(fā)展,MCU編程語(yǔ)言和開(kāi)發(fā)環(huán)境也在不斷進(jìn)步,以適應(yīng)不同的應(yīng)用需求。 1.
    的頭像 發(fā)表于 11-01 11:51 ?2197次閱讀

    常用音頻線接口對(duì)比分析

    對(duì)比分析: 一、光纖接口 原理 :利用光信號(hào)進(jìn)行音頻傳輸,采用光從光密介質(zhì)進(jìn)入光疏介質(zhì)時(shí)發(fā)生全反射的原理。 轉(zhuǎn)換方式 :音頻信號(hào)→數(shù)字信號(hào)→光信號(hào)→數(shù)字信號(hào)→音頻信號(hào)。 優(yōu)點(diǎn) :傳輸速度快、抗干擾能力強(qiáng)、傳輸距離長(zhǎng),且不受外界電磁波干擾,能支持
    的頭像 發(fā)表于 10-30 15:58 ?5212次閱讀

    C語(yǔ)言與Java語(yǔ)言對(duì)比

    C語(yǔ)言和Java語(yǔ)言都是當(dāng)前編程領(lǐng)域中的重要成員,它們各自具有獨(dú)特的優(yōu)勢(shì)和特點(diǎn),適用于不同的應(yīng)用場(chǎng)景。以下將從語(yǔ)法特性、內(nèi)存管理、跨平臺(tái)性、性能、應(yīng)用領(lǐng)域等多個(gè)方面對(duì)C語(yǔ)言和Java
    的頭像 發(fā)表于 10-29 17:31 ?1078次閱讀

    安科瑞智慧工廠解決方案--讓能耗監(jiān)測(cè)全面+有效-能耗監(jiān)控,能效分析,節(jié)能優(yōu)化

    ,通過(guò)數(shù)據(jù)分析、挖掘和趨勢(shì)分析,幫助企業(yè)針對(duì)各種能源需求及用能情況、能源質(zhì)量、產(chǎn)品能源單耗、各工序能耗、重大能耗 設(shè)備的能源利用情況等進(jìn)行
    的頭像 發(fā)表于 10-25 13:45 ?552次閱讀
    安科瑞智慧工廠解決方案--讓<b class='flag-5'>能耗</b>監(jiān)測(cè)全面+有效-<b class='flag-5'>能耗</b>監(jiān)控,能效<b class='flag-5'>分析</b>,節(jié)能優(yōu)化

    risc-v與esp32架構(gòu)對(duì)比分析

    RISC-V與ESP32在架構(gòu)上存在顯著的差異,這些差異主要體現(xiàn)在處理器類型、設(shè)計(jì)原則、功能特性以及應(yīng)用場(chǎng)景等方面。以下是對(duì)兩者架構(gòu)的詳細(xì)對(duì)比分析: 一、處理器類型與設(shè)計(jì)原則 RISC-V : 類型
    發(fā)表于 09-26 08:40

    對(duì)比分析點(diǎn)焊機(jī)與傳統(tǒng)焊接方法

    在焊接技術(shù)的演進(jìn)歷程中,點(diǎn)焊機(jī)憑借其高效、精確與自動(dòng)化的特性,在現(xiàn)代工業(yè)制造中迅速崛起,成為現(xiàn)代工業(yè)制造中的重要工具。相較于歷史悠久的傳統(tǒng)焊接方式,點(diǎn)焊機(jī)展現(xiàn)了諸多獨(dú)特優(yōu)勢(shì)。以下我們將從點(diǎn)焊機(jī)的工作原理、優(yōu)缺點(diǎn)及應(yīng)用領(lǐng)域三大維度,對(duì)兩者進(jìn)行細(xì)致入微的對(duì)比分析。
    的頭像 發(fā)表于 09-12 11:52 ?1216次閱讀

    網(wǎng)關(guān)和路由器的對(duì)比分析

    網(wǎng)關(guān)和路由器作為計(jì)算機(jī)網(wǎng)絡(luò)中的關(guān)鍵設(shè)備,各自承擔(dān)著不同的角色和功能。下面將從定義、功能、應(yīng)用場(chǎng)景、性能等多個(gè)方面對(duì)網(wǎng)關(guān)和路由器進(jìn)行對(duì)比分析。
    的頭像 發(fā)表于 08-27 10:20 ?2753次閱讀

    激光錫焊與回流焊接對(duì)焊點(diǎn)影響的對(duì)比分析

    針對(duì)電子裝聯(lián)技術(shù)的特點(diǎn),激光錫焊與回流焊接在對(duì)焊點(diǎn)影響方面做以下對(duì)比分析。
    的頭像 發(fā)表于 08-23 11:19 ?860次閱讀