日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

哪種編程語言最省電?以及,編程質量與耗電多少有關?

來源: 責編: 時間:2024-06-20 15:17:40 187觀看
導讀編譯 | 伊風出品 | 51CTO技術棧(微信號:blog51cto)能量使用數據是否能告訴我們編程語言的質量?圖片去年,來自葡萄牙三所不同大學的六名研究人員決定調查這個問題,最終發布了一篇題為《編程語言的能效》的論文。他們在運行用

編譯 | 伊風qbW28資訊網——每日最新資訊28at.com

出品 | 51CTO技術棧(微信號:blog51cto)qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

能量使用數據是否能告訴我們編程語言的質量?qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

圖片圖片qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

去年,來自葡萄牙三所不同大學的六名研究人員決定調查這個問題,最終發布了一篇題為《編程語言的能效》的論文。他們在運行用27種不同語言編寫的10個編程問題的解決方案時,監測了每種語言使用的電量、速度和內存使用情況。qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

圖片圖片qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

更具體的說,他們使用了計算機語言基準游戲(Computer Language Benchmarks Game)的10個問題,這是一個用于比較性能的自由軟件項目,包括一組標準的簡單算法問題以及運行測試的框架。(以前被稱為“大計算機語言對決”。)“這使我們能夠獲得一個可比較、有代表性且廣泛的程序集……以及編譯/執行選項和編譯器版本。”qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

進行各種基準測試是重要的,因為他們的結果最終取決于執行的測試。例如,總體上C語言被證明是最快且最節能的。但在涉及掃描DNA數據庫中特定基因序列的基準測試中,Rust是最節能的——而C排在第三位。   qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

然而,即使在同一測試中,“最佳”語言也取決于你的標準。在該測試中,C也是第二快的語言(再一次排在Rust之后)。但如果按內存使用情況排序,Rust下降了整整九位。而Fortran是該測試中第二節能的語言,但按執行時間排序時也下降了六位。qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

更快的語言并不總是最節能的。qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

研究人員指出,他們“嚴格遵循”CLBG項目關于編譯器版本和最佳優化標志的指南。使用Intel的Running Average Power Limit工具測量功耗,每個程序不僅執行一次,而是執行了10次,“以減少冷啟動和緩存效應的影響,并能夠分析測量結果的一致性,避免異常值。”(因此,他們報告說,“測量結果相當一致。”)為了增加一致性,所有測試都在運行Linux Ubuntu Server 16.10(內核版本4.8.0-22-generic)的臺式機上進行,配有16GB RAM和3.20GHz Haswell Intel Core i5-4460 CPU。qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

在他們的論文中,研究人員指出了一些有趣的結果。qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

“平均而言,Lisp消耗的能量是C的2.27倍(131.34J),執行時間是C的2.44倍(4926.99ms),所需內存是Pascal的1.92倍(126.64Mb)。”qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

他們還比較了編譯語言與解釋語言的結果(還有一個單獨的類別是運行在虛擬機上的語言)。論文還包括了不同編程范式的比較——包括函數式編程和命令式編程,以及面向對象編程和腳本編程。qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

1.更快的語言是否更綠色?

qbW28資訊網——每日最新資訊28at.com

論文仔細研究了一個常見的假設,即更快的程序總是使用更少的能量,指出這并不像物理定律那樣簡單:E(能量)= T(時間)x P(功率)。研究人員指出,這部分是因為功率不是以一致的速率消耗的,這可能影響了其他研究人員關于程序運行時間是否影響能量消耗的工作。(“關于這個問題的結論有時會有所不同……”)在他們的一個基準測試中,一個Chapel程序比一個等效的Pascal程序執行時間減少了55%,但該Pascal程序使用的能量卻少了10%。qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

因此,盡管人們普遍認為程序運行得更快能量消耗會減少,研究人員明確表示,“更快的語言并不總是最節能的。”qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

這可能是一個難以回答的問題,因為功耗受多種因素的影響(包括編譯器的質量和使用的庫)。但最終,研究人員甚至能夠根據功耗是由CPU還是DRAM消耗來分解能量消耗——得出結論,平均而言,無論基準程序是編譯的、解釋的還是在虛擬機上運行的,CPU消耗的功率大約占88%。qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

有趣的是,解釋語言顯示出比較大的變化,CPU有時消耗的功率高達92.90%,有時低至81.57%。qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

在研究結果后,研究人員還得出結論,DRAM峰值使用與能量消耗之間的關系“幾乎不存在”。qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

這項研究為一個長期存在的問題提供了一些見解:更快的語言是否更綠色?是的,事實是,“在前五個最節能的語言中,它們在按執行時間排序時保持了它們的排名,且能量和時間值之間的差異非常小。”qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

實際上,對于10個基準問題中的9個,最高得分(無論是速度還是能效)都來自于三種總體最快和最節能的語言之一——這并沒有讓研究人員感到驚訝。“眾所周知,這三種頂級語言(C、C++和Rust)被認為是高度優化且執行性能高效的,正如我們的數據所示。”qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

但當你按運行時間對其他24種語言進行排序時,你不會看到相同的順序,而按能效排序時也不會。“只有四種語言在能量和時間排名中保持一致(OCaml、Haskell、Racket和Python),而其余的則完全被打亂。”qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

即使在單個基準測試中,也有快速執行的語言并不是最節能的情況。qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

2.編譯語言:又快又節能

qbW28資訊網——每日最新資訊28at.com

還有其他有趣的結果。編譯語言“往往”是最節能和運行最快的——他們的論文甚至可以用一個數字量化這一差異。“平均而言,編譯語言執行解決方案所需的能量為120J,而對于虛擬機和解釋語言,這一值分別為576J和2365J。”qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

研究人員在比較執行時間時也應用了同樣的精確度,得出結論,平均而言,“編譯語言需要5103ms,虛擬機語言需要20623ms,解釋語言需要87614ms。”qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

在這兩個類別中,前五名語言中的四個是編譯的。(例外是Java。)qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

圖片圖片qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

最慢的五種語言都是解釋的(interpreted):Lua、Python、Perl、Ruby和Typescript。而消耗能量最多的五種語言也是解釋的:Perl、Python、Ruby、JRuby和Lua。qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

對于Google的新編程語言Carbon使用了多少能量,目前還沒有定論。qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

但與此同時,在使用正則表達式操作字符串時,五種最節能的語言中有三種是解釋語言(TypeScript、JavaScript和PHP),盡管在其他場景中它們往往不太節能。qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

編譯語言還占據了所需內存空間最少的前五個位置。qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

圖片圖片qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

“平均而言,編譯語言需要125Mb,虛擬機語言需要285Mb,解釋語言需要426Mb,”研究人員報告說。與此同時,解釋語言占據了內存空間消耗最多的五個位置中的四個:JRuby、Dart、Lua和Perl。(盡管Erlang不是一種解釋語言,但它也會出現在最底層五個位置中,介于Dart和Lua之間)。qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

“如果按其編程范式排序,命令式語言需要116Mb,面向對象語言需要249Mb,函數式語言需要251Mb,而腳本語言需要421Mb。”qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

實際上,在比較不同的范式時,命令式編程往往表現最佳。其基準程序平均使用的能量更少——運行速度也更快——比面向對象、函數式和腳本范式的基準程序。qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

圖片圖片qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

但需要考慮的因素有很多。“顯然,不同的編程范式,甚至是同一范式內的語言,對能量消耗、時間和內存的影響完全不同,”研究人員寫道。然而,哪個因素最重要將取決于你的場景。(例如,后臺任務不總是需要最快的運行時間。)qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

而且有些應用程序需要考慮兩個因素——例如,能量使用和執行時間。在這種情況下,“C是最佳解決方案,因為它在單一目標中都占優勢,”研究人員寫道。如果你想節省時間同時使用更少的內存,C、Pascal和Go“是等效的”——如果你關注所有三個變量(時間、能量使用和內存使用),也是如此。但如果你只是想節省能量同時使用更少的內存,你最好的選擇是C或Pascal。qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

圖片圖片qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

3.寫在最后

qbW28資訊網——每日最新資訊28at.com

在論文的最后,研究人員補充說,進一步的研究希望能夠檢查總內存使用隨時間的變化是否與能量消耗更好地相關聯。qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

他們在網上共享了他們的數據,建議這可以讓未來的研究人員更容易比較.NET語言或JVM語言。對于使用移動應用程序、物聯網系統或其他從有限電源中汲取能量的應用程序的開發人員來說,功耗是一個主要關注點。qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

但最終,這項研究可能也會讓程序員們感到他們最討厭的東西:模糊性。研究人員報告說,如果你在尋找一種最好的編程語言,“這個問題沒有具體和最終的答案。qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

“盡管每個基準中最節能的語言幾乎總是最快的那一個,但事實是,沒有一種語言始終優于其他語言,”研究人員總結道。“使用一種語言的情況是確定該語言是否是最節能選擇的核心方面。”qbW28資訊網——每日最新資訊28at.com

qbW28資訊網——每日最新資訊28at.com

參考鏈接:https://thenewstack.io/which-programming-languages-use-the-least-electricity/qbW28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-95147-0.html哪種編程語言最省電?以及,編程質量與耗電多少有關?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 小心!使用 LINQ 時的性能陷阱

下一篇: C++模板增強,模板編程更上一層樓

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
亚洲香蕉在线观看| 国内精品模特av私拍在线观看| 欧美a级一区二区| 免费成人高清在线视频| 欧美巨乳在线| 国产精品女主播一区二区三区| 国产婷婷色一区二区三区四区| 亚洲夫妻自拍| 亚洲一区精彩视频| 久久人人爽国产| 欧美日韩91| 国产精品免费视频xxxx| 樱桃成人精品视频在线播放| 一本久久精品一区二区| 久久精品91| 欧美另类在线观看| 国产香蕉97碰碰久久人人| 亚洲国产成人在线| 亚洲自拍三区| 欧美成年人视频| 国产精品综合不卡av| 亚洲国产精品传媒在线观看 | 国产精品99久久99久久久二8| 久久狠狠亚洲综合| 欧美精品色综合| 狠狠操狠狠色综合网| 99国产精品99久久久久久| 一本色道久久88综合亚洲精品ⅰ| 欧美高清视频一区| 久久久噜噜噜久久中文字免| 国产精品欧美久久久久无广告| 国产九九视频一区二区三区| 国产日韩一区欧美| 国产精品乱码人人做人人爱| 国产日韩精品在线| 国产女主播一区二区| 亚洲另类在线一区| 久久―日本道色综合久久| 国产女主播一区| 欧美一区久久| 亚洲一区二区在线观看视频| 亚洲线精品一区二区三区八戒| 亚洲视频在线一区| 亚洲一区二区高清视频| 亚洲影视九九影院在线观看| 亚洲丁香婷深爱综合| 欧美成人精品高清在线播放| 亚洲一二三四久久| 国产精品一区二区你懂的| 99在线精品免费视频九九视| 久久成人一区| 狠狠色狠狠色综合日日小说| 欧美黄色大片网站| 久久精品99无色码中文字幕| 亚洲欧洲综合另类在线| 国产精品美女xx| 久久亚洲精品网站| 午夜视频一区二区| 亚洲欧美日韩国产中文 | 性欧美video另类hd性玩具| 国产主播一区二区三区四区| 国产精品自在线| 欧美日韩综合在线免费观看| 欧美日韩亚洲一区二| 国产精品www.| 欧美另类在线播放| 国产精品美女www爽爽爽视频| 久久国产精品久久w女人spa| 日韩视频精品在线观看| 一区二区在线观看视频在线观看| 欧美一区二区在线看| aa级大片欧美三级| 亚洲免费伊人电影在线观看av| 欧美伊人久久久久久午夜久久久久 | 国产伦精品一区二区三| 一本综合久久| 欧美日韩系列| 亚洲视频一二区| 国产精品草草| 亚洲一区二区三区视频播放| 欧美偷拍另类| 亚洲天堂第二页| 国产精品网站一区| 欧美一区二区三区久久精品茉莉花| 国产欧美精品在线播放| 欧美一级理论性理论a| 国产日韩亚洲欧美精品| 久久精品国产久精国产思思| 狠狠入ady亚洲精品经典电影| 久久人人97超碰精品888| 在线免费日韩片| 欧美电影在线观看完整版| 亚洲毛片视频| 欧美日韩在线高清| 亚洲欧美区自拍先锋| 国产日韩欧美一区| 久久影院午夜论| 亚洲精品护士| 国产精品成人av性教育| 欧美一区二区精品在线| 黄色成人在线网站| 欧美高清一区| 一区二区三区久久| 国产精品一二三视频| 久久久精品动漫| 91久久黄色| 欧美午夜片在线免费观看| 亚洲欧美成人网| 一区二区三区在线观看国产| 欧美成人精品福利| 亚洲视频播放| 国产一区在线看| 欧美大片网址| 亚洲一区视频在线| 国产亚洲一区二区精品| 免费精品视频| 亚洲午夜在线| 精品动漫一区| 亚洲国产合集| 国产精品一区免费观看| 宅男精品视频| 国产精品自拍网站| 久久女同互慰一区二区三区| 亚洲大胆人体在线| 欧美日韩专区| 久久国产视频网| 亚洲青涩在线| 国产精品一区亚洲| 麻豆九一精品爱看视频在线观看免费| 亚洲美女电影在线| 国产区精品视频| 免费久久99精品国产自在现线| 一区二区三区视频在线| 国内偷自视频区视频综合| 欧美日韩国产成人在线免费| 欧美一级一区| 亚洲裸体视频| 国产在线乱码一区二区三区| 欧美日韩高清在线观看| 久久久成人网| 亚洲午夜性刺激影院| 亚洲电影免费观看高清完整版在线| 国产精品jizz在线观看美国 | 亚洲精品乱码久久久久| 国产欧美日韩在线播放| 欧美另类在线观看| 久久先锋影音| 亚洲欧美日韩久久精品| 亚洲精品视频在线看| 国内精品视频在线播放| 国产精品女人久久久久久| 欧美黄免费看| 久久久www| 亚洲欧美日韩国产另类专区| 91久久线看在观草草青青| 国产一区二区你懂的| 欧美亚洲成人网| 欧美二区视频| 久久人91精品久久久久久不卡| 亚洲综合成人婷婷小说| 亚洲美女在线观看| 在线精品视频一区二区| 国产欧美一区二区在线观看| 欧美四级在线观看| 欧美激情在线免费观看| 久久久久国产免费免费| 亚洲欧美成人在线| 一区二区三区不卡视频在线观看 | 久久精品主播| 亚洲欧美中文另类| 亚洲视频免费| 一区二区国产日产| 最新亚洲一区| 亚洲电影免费观看高清完整版| 国产视频精品xxxx| 国产精品区一区二区三| 欧美日韩一区二区在线播放| 欧美激情成人在线视频| 免费精品99久久国产综合精品| 久久久久久久高潮| 久久九九久精品国产免费直播| 欧美一级理论片| 香蕉久久国产| 午夜视频久久久| 亚洲欧美日韩精品久久奇米色影视| 在线视频日韩精品| 99视频在线观看一区三区| 亚洲另类视频| 亚洲美女视频| 亚洲免费久久| 日韩视频三区| 一区二区三区精品视频| 99国产精品久久久久久久| 亚洲人成人77777线观看| 亚洲国产日韩一级| 亚洲国产另类精品专区| 亚洲高清在线播放| 亚洲国产婷婷香蕉久久久久久99 | 亚洲视频视频在线| 一区二区三区精品视频在线观看| 一本大道久久a久久综合婷婷| 亚洲九九九在线观看| 日韩亚洲在线观看| 一区二区三区久久|