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

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

提高能效,用Rust寫代碼

來源: 責編: 時間:2024-06-12 17:32:35 226觀看
導讀全球數據中心的數量在不斷增加,它們的電力消耗也在不斷增加。提高能效的一種方法當然是不斷開發更好的硬件,但作為軟件開發人員,我們也應該盡自己的一份力量。根據國際能源署(IEA)的數據,2022年全球數據中心的用電量估計

全球數據中心的數量在不斷增加,它們的電力消耗也在不斷增加。提高能效的一種方法當然是不斷開發更好的硬件,但作為軟件開發人員,我們也應該盡自己的一份力量。zdm28資訊網——每日最新資訊28at.com

根據國際能源署(IEA)的數據,2022年全球數據中心的用電量估計為240 - 340太瓦時。這相當于總電力需求的1.0%至1.3%。這些數字不包括加密貨幣挖礦,后者可能額外消耗了110太瓦時的電力,占全球電力需求的0.4%。zdm28資訊網——每日最新資訊28at.com

這篇文章展示了用Rust編碼如何幫助更有效地利用現有資源,幫助保護我們的星球——至少是一點點。zdm28資訊網——每日最新資訊28at.com

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

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

為什么Rust是節能的?

一般來說,比較編程語言的效率是不容易的,因為結果受到很多因素的影響。然而,R. Pereira等人的一篇論文比較了27種編程語言的能耗和內存效率以及速度。為了獲得盡可能客觀的結果,他們使用了各種基準測試進行比較。zdm28資訊網——每日最新資訊28at.com

該論文指出,Rust在能耗和執行時間方面排名第二,僅比第一名c多消耗約3%的能量,執行速度僅慢4%。根據這些測量結果,Rust非常節能,特別是如果你將其與PHP的能耗進行比較,PHP的能耗是Rust的28倍,Python的能耗是Rust的74倍。zdm28資訊網——每日最新資訊28at.com

論文鏈接:https://www.sciencedirect.com/science/article/abs/pii/S0167642321000022?via%3Dihubzdm28資訊網——每日最新資訊28at.com

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

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

實際案例

在Tweede golf,最近在重寫一個項目時體驗了Rust的高效率和速度。他們用Rust構建了一個圖書俱樂部管理應用程序,它之前是用PHP編寫的,具有相同的功能。這個應用程序允許讀書俱樂部借書,并根據圖書館的等級體系來管理這些書的預訂、分發和發票。zdm28資訊網——每日最新資訊28at.com

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

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

老實說,節省CPU和內存并不是重寫的主要原因,維護才是。Rust應用程序更容易維護,Rust編譯器或依賴項的版本升級不太可能破壞應用程序。此外,使用Rust的效率更高。這是因為有良好的生態系統和工具鏈,例如編譯器提供了非常有用的錯誤消息,嚴格的類型系統也有助于編寫正確的軟件。zdm28資訊網——每日最新資訊28at.com

在他們的示例中,Rust重寫只花費了原始PHP實現一半的開發時間,這還不包括任何新加需求。當然,重新實現現有的實現通常比構建原始實現更容易和更快,但是沒有預料到開發時間的差異會如此之大。zdm28資訊網——每日最新資訊28at.com

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

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

基準測試

讓我們看一下性能比較。對于測試,使用了開源HTTP基準測試工具Siege和25個并發用戶。這些應用程序在一臺Ubuntu筆記本電腦上本地運行,該筆記本電腦配備了第12代英特爾?酷睿?i7-12700H和32gb內存。由于應用程序是作為容器運行的,使用docker stats命令來估計資源消耗,并使用docker Compose命令在需要的地方限制資源。zdm28資訊網——每日最新資訊28at.com

執行的最直接的基準測試沒有對PHP或Rust應用程序或Siege施加任何限制。針對預訂概覽頁面執行了測試,因為這會給應用程序和數據庫帶來一些計算負載。Rust版本由一個應用程序容器和一個DB容器組成。zdm28資訊網——每日最新資訊28at.com

PHP版本還包含一個nginx,它負責提供所有的靜態文件,如CSS, JS和圖標。Rust應用程序自己為它們服務。總的CPU使用情況是所有容器的總和,而App CPU和內存使用情況只涉及Rust或PHP容器。zdm28資訊網——每日最新資訊28at.com

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

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

最大CPU

首先,在PHP和Rust應用程序上分別加載全部負載20秒。zdm28資訊網——每日最新資訊28at.com


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

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

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

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

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

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

121 %zdm28資訊網——每日最新資訊28at.com

37 %zdm28資訊網——每日最新資訊28at.com

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

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

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

212 %zdm28資訊網——每日最新資訊28at.com

57 %zdm28資訊網——每日最新資訊28at.com

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

11,297zdm28資訊網——每日最新資訊28at.com

可以看到,Rust在點擊次數(即在20秒內加載的頁面數量)上比PHP高出近4000 %。此外,我們看到PHP需要的內存幾乎是Rust應用程序的9倍。zdm28資訊網——每日最新資訊28at.com

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

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

限定CPU

你可能會認為這是一種不公平的比較,因為Rust能夠利用更多的CPU資源。因此,將每個應用容器的CPU使用率限制在20%,并執行相同的測試。zdm28資訊網——每日最新資訊28at.com


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

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

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

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

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

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

44 %zdm28資訊網——每日最新資訊28at.com

20 %zdm28資訊網——每日最新資訊28at.com

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

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

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

55 %zdm28資訊網——每日最新資訊28at.com

20 %zdm28資訊網——每日最新資訊28at.com

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

2,275zdm28資訊網——每日最新資訊28at.com

Rust應用程序的總CPU使用量仍然更高,這與Rust能夠處理33倍以上的請求這一事實有關,因此給數據庫帶來了更高的負載。同樣,我們可以看到PHP使用了大約9倍的內存。zdm28資訊網——每日最新資訊28at.com

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

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

正常測試

這些雖然意義重大,但都是非常理論化的測試。在實踐中,頁面上不會有這么多用戶,而且在加載下一個頁面之前,他們也會花幾秒鐘的時間對一個頁面的加載做出反應。為了更真實地測試這一點,我們為Siege提供了9個不同的url,這些url在頁面加載后0到10秒之間隨機訪問。為了獲得更好的概述,我們讓這個測試運行60秒而不是20秒。zdm28資訊網——每日最新資訊28at.com


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

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

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

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

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

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

41 %zdm28資訊網——每日最新資訊28at.com

13 %zdm28資訊網——每日最新資訊28at.com

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

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

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

2.6 %zdm28資訊網——每日最新資訊28at.com

1 %zdm28資訊網——每日最新資訊28at.com

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

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

在這里,我們可以真正看到Rust在資源消耗方面的好處。PHP應用程序需要13%的CPU來處理請求,而Rust容器只需要1%。同樣,在內存使用方面,Rust的性能也是PHP的九倍。zdm28資訊網——每日最新資訊28at.com

事實證明,Rust不僅對開發人員來說更有趣,而且對資源也非常友好。我們已經看到新的Rust應用程序比舊的PHP實現快40倍。在集群中,我們觀察到資源使用的顯著減少。zdm28資訊網——每日最新資訊28at.com

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

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

本文鏈接:http://m.www897cc.com/showinfo-26-93372-0.html提高能效,用Rust寫代碼

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

上一篇: Next.js 15 來了,全新的編譯器、700倍的構建速度提升

下一篇: 一個巧妙設計,解鎖 React19 初始化接口優秀實踐,徹底摒棄 useEffect

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
国产伦一区二区三区色一情| 久久九九精品99国产精品| 亚洲国产精品99久久久久久久久| 伊人狠狠色j香婷婷综合| 亚洲第一中文字幕| 99国内精品| 亚洲欧美日韩在线观看a三区| 久久精品国产精品 | **性色生活片久久毛片| 狠狠色综合日日| 亚洲乱码国产乱码精品精天堂| 亚洲一区二区三区涩| 久久久国产精品一区| 欧美成人黄色小视频| 欧美三级视频在线观看| 国产亚洲网站| 亚洲精品一二区| 午夜精品久久久久久久久久久久 | 亚洲国产一区在线| 亚洲综合二区| 猛男gaygay欧美视频| 欧美视频导航| 一区二区三区中文在线观看| 在线视频亚洲| 久久夜色精品| 国产精品区一区二区三区| 亚洲第一精品福利| 亚洲欧美一区二区三区在线| 欧美刺激性大交免费视频| 国产美女诱惑一区二区| 亚洲精品中文字幕有码专区| 久久国产精品色婷婷| 欧美日韩在线播放一区二区| 在线观看视频一区二区| 香蕉久久夜色精品国产使用方法 | 国产精品白丝av嫩草影院| 在线看成人片| 欧美主播一区二区三区美女 久久精品人| 欧美国产第二页| 国产一区二区三区在线观看免费视频 | 久久丁香综合五月国产三级网站| 欧美精品videossex性护士| 国产一区二区激情| 亚洲性图久久| 欧美精品一区二区久久婷婷| 一区二区自拍| 欧美一区二区三区播放老司机| 欧美区视频在线观看| 亚洲欧美在线高清| 欧美日韩国产限制| 亚洲福利精品| 久久久久一区| 国产午夜精品福利| 亚洲欧美日韩国产中文在线| 欧美精品一区三区| 亚洲国产精品成人久久综合一区 | 欧美国产欧美亚洲国产日韩mv天天看完整 | 国产乱码精品一区二区三区忘忧草 | 亚洲免费影院| 欧美日韩一区二区在线观看| 亚洲精品在线免费观看视频| 蜜桃av噜噜一区二区三区| 国产亚洲欧美日韩美女| 午夜精品久久久久久久99水蜜桃| 欧美私人啪啪vps| 日韩亚洲欧美在线观看| 欧美高清你懂得| 亚洲高清在线视频| 免播放器亚洲一区| 伊人蜜桃色噜噜激情综合| 久久久久欧美| 激情综合色综合久久| 欧美一区二区视频97| 国产精品综合不卡av| 亚洲影院污污.| 国产精品久久久久高潮| 一区二区三区久久网| 欧美日韩一区二| 日韩午夜免费视频| 欧美精品一卡| 日韩性生活视频| 欧美日韩免费在线| 一区二区三区不卡视频在线观看 | 国产日韩欧美在线播放不卡| 亚洲在线播放电影| 国产精品亚洲第一区在线暖暖韩国| 亚洲手机在线| 国产精品一二| 欧美亚洲一区二区在线| 国产欧美欧美| 久久久99国产精品免费| 韩国av一区二区三区| 久久深夜福利| 亚洲电影免费观看高清完整版| 免费欧美在线视频| 亚洲精品国产品国语在线app| 欧美精品久久久久久久| 一区二区三区四区五区精品| 欧美深夜影院| 午夜国产欧美理论在线播放| 国产亚洲高清视频| 久热精品在线视频| 亚洲日产国产精品| 欧美日韩一级片在线观看| 亚洲一区不卡| 国产欧美日韩综合精品二区| 久久精品av麻豆的观看方式 | 欧美日韩国产a| 一区二区三区www| 国产精品一区二区欧美| 久久精品国产999大香线蕉| 激情91久久| 欧美激情国产精品| 国产精品99久久久久久久久| 国产精品推荐精品| 久久久久国产精品www| 亚洲国产日韩欧美| 欧美日韩一区二区在线观看视频| 亚洲欧美国产制服动漫| 黄色成人在线| 欧美理论在线播放| 性高湖久久久久久久久| 亚洲丰满少妇videoshd| 欧美视频日韩| 久久久久久亚洲精品中文字幕 | 夜夜嗨av一区二区三区四季av| 国产精品播放| 久久噜噜噜精品国产亚洲综合| 亚洲国产一成人久久精品| 欧美色欧美亚洲高清在线视频| 性欧美xxxx大乳国产app| 亚洲国产精品一区二区www| 国产精品高清免费在线观看| 久久精品视频免费| 亚洲精品视频在线| 国产欧美高清| 欧美国产在线观看| 午夜国产一区| 亚洲国产裸拍裸体视频在线观看乱了中文 | 国产精品美女www爽爽爽视频| 欧美在线观看www| 亚洲精品一区二区在线观看| 国产一区二区久久| 欧美日韩不卡| 久久久蜜桃一区二区人| 在线视频精品| 在线精品国产成人综合| 国产精品欧美一区二区三区奶水| 免费在线欧美黄色| 午夜久久福利| 99精品热6080yy久久| 激情欧美丁香| 国产精品欧美日韩久久| 欧美国内亚洲| 久久久91精品国产一区二区三区| 亚洲午夜精品一区二区三区他趣| 1000部精品久久久久久久久| 国产精品社区| 欧美日韩国产高清| 六月丁香综合| 欧美影院成人| 9l视频自拍蝌蚪9l视频成人| 在线观看亚洲视频啊啊啊啊| 国产精品永久免费视频| 欧美日韩国产精品一区| 久久一日本道色综合久久| 篠田优中文在线播放第一区| 一本色道久久88综合亚洲精品ⅰ | 国产精品入口尤物| 欧美久久成人| 美国十次成人| 久久超碰97中文字幕| 亚洲伊人网站| 一本大道久久a久久精品综合| 亚洲国产黄色| 一区久久精品| 国产一区二区电影在线观看 | 国产亚洲精品v| 国产精品久久久久影院色老大 | 欧美剧在线免费观看网站| 久久精品国产久精国产一老狼 | 99精品视频免费| 亚洲精品欧美一区二区三区| 在线免费精品视频| 在线免费观看一区二区三区| 国产一区再线| 国产一区二区久久久| 国产欧美日韩专区发布| 国产精品无人区| 国产精品理论片在线观看| 欧美视频在线观看 亚洲欧| 欧美日韩18| 欧美日韩精品一区二区| 欧美黄色一级视频| 欧美电影打屁股sp| 美女视频一区免费观看| 久久久久久国产精品mv| 久久精品国产成人| 久久裸体艺术| 久久亚洲图片| 久久综合一区| 欧美成人综合在线| 欧美另类视频| 欧美日韩国产美女|