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

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

用Rust重寫數萬行C代碼,有必要嗎?

來源: 責編: 時間:2024-03-18 09:42:42 246觀看
導讀在過去的一段時間里,“用Rust重寫”的趨勢席卷了整個開發領域。作為一顆冉冉升起的新星,Rust不僅承諾更好的內存安全性和更高的技術穩定性,還可以兼顧開發和執行效率。這也使得越來越多的系統開發人員轉向這種面向未來的

在過去的一段時間里,“用Rust重寫”的趨勢席卷了整個開發領域。作為一顆冉冉升起的新星,Rust不僅承諾更好的內存安全性和更高的技術穩定性,還可以兼顧開發和執行效率。這也使得越來越多的系統開發人員轉向這種面向未來的編程語言。vEM28資訊網——每日最新資訊28at.com

就在最近,另一個知名的開源項目Ockam放棄了系統中數萬行C語言代碼,最終用Rust重寫了整個項目。在完成這個龐大的項目后,Ockam的創始人Mrinal Wadhwa分享了他帶領團隊從C到Rust的歷程。vEM28資訊網——每日最新資訊28at.com

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

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

1,C語言:迷人的陷阱

作為一個開源的開發者工具,Ockam在GitHub上有3.3萬顆星。其核心功能是幫助用戶構建可信的動態數據,并為用戶應用程序添加端到端加密和認證通信;確保應用程序具有端到端的數據完整性、真實性和機密性。vEM28資訊網——每日最新資訊28at.com

研發團隊希望Ockam可以在任何環境中運行,包括受限的邊緣設備或強大的云服務器。除此之外,Ockam的另一個目標是可以在任何類型的應用程序中使用,而不管應用程序是用什么語言構建的。vEM28資訊網——每日最新資訊28at.com

這樣的需求使得C語言成為構建Ockam項目的候選語言——它可以為大多數設備編譯,并且所有流行的語言都可以通過某種形式的接口調用C庫。在這種情況下,Ockam能夠為所有其他語言提供慣用的包裝器。vEM28資訊網——每日最新資訊28at.com

該團隊的想法是將以通信為中心的核心協議從硬件行為中分離出來,并為它想要支持的硬件提供可插拔的適配器。考慮到這個想法,開發人員在初始版本中將Ockam項目的核心實現為C庫,并用其他語言包裝器包裝該庫。vEM28資訊網——每日最新資訊28at.com

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

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

2,安全問題

然而,盡管基于Ockam內核實現的C庫滿足了項目到處運行的需求,但由于C語言內存管理的弱點,團隊實現的C庫中許多與加密相關的代碼容易出現漏洞,一個小錯誤就可能導致系統變得不安全。vEM28資訊網——每日最新資訊28at.com

這與Ockam項目的目標完全相反,Ockam項目的目標是隱藏這些問題,并提供一個易于正確使用的開發人員界面。該團隊開始嘗試使用C語言構建安全簡單的接口。但經過多次迭代,開發人員逐漸發現,他們必須掌握大量關于協議狀態和狀態轉換的細節,即使他們非常小心,代碼中也總會存在無法檢測到的漏洞。vEM28資訊網——每日最新資訊28at.com

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

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

3,Elixir:不合格的繼承人

面對極其痛苦的迭代工作,仍然無法解決內存安全問題的Ockam決定放棄C語言,尋找更適合這個項目的繼任者——當時,他們把目光投向了基于erlang的Elixir語言。vEM28資訊網——每日最新資訊28at.com

Elixir程序在提供Erlang進程的Erlang虛擬機BEAM上運行。Erlang進程是輕量級的有狀態并發參與者。由于參與者可以在保持內部狀態的同時并發運行,因此很容易運行并發狀態協議棧:Ockam傳輸 + Ockam路由 + Ockam安全通道。vEM28資訊網——每日最新資訊28at.com

但不幸的是,Elixir天生就是為支持高負載項目而設計的,不能像C語言那樣在小型或受限的計算機上運行。此外,Elixir的生態還不夠成熟,對于某些特定的語言管理包裝器來說不是一個好的選擇。vEM28資訊網——每日最新資訊28at.com

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

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

4,Rust

在經歷了連續的失敗之后,Ockam團隊意識到他們的核心需求是在確保安全性的同時實現輕量級參與者,但是C語言和Elixir都無法完美地適應。從此,Wadhwa開始帶領團隊研究Rust,并很快發現了這門語言的獨特魅力。vEM28資訊網——每日最新資訊28at.com

Rust庫能夠導出與C調用兼容的接口。這意味著任何靜態/動態鏈接或從C庫調用函數的語言都能夠以完全相同的方式從Rust庫調用函數。由于大多數語言都支持C中的本機函數,因此它們也支持Rust中的本機函數。從包裝器的角度來看,Rust和C之間幾乎沒有區別。vEM28資訊網——每日最新資訊28at.com

Rust的內存安全特性消除了use-after-free、double-free、溢出、越界訪問和許多其他常見錯誤的可能性。根據之前的調查,這些錯誤導致了C或C++庫中60-70%的關鍵漏洞。Rust在編譯時提供了這種安全性,這使得它在編寫需要高性能、在受限環境中運行和高度安全的代碼時具有很大的優勢。vEM28資訊網——每日最新資訊28at.com

研發團隊堅信Rust和Ockam是天作之合的最后一個原因是Rust中的async/await。Ockam需要輕量級參與者來創建簡單而安全的協議棧接口。async/await意味著在tokio和async-std等項目中已經完成了許多創建actor的工作,團隊可以在此基礎上輕松構建Ockam的actor實現。vEM28資訊網——每日最新資訊28at.com

基于rust的async/await無論在大型機還是微型計算機上運行,都可以向用戶提供完全相同的界面,位于Ockam Workers上的協議接口也可以呈現完全相同的簡單接口。vEM28資訊網——每日最新資訊28at.com

最終,在Wadhwa的帶領下,Ockam放棄了系統中數萬行C語言代碼,用一段時間完成了對Rust的全面改造。經過重寫后穩定性的多次迭代,任何用戶現在都可以使用重新激活的Ockam包,通過簡單的函數調用,在任何設備上創建他們想要的端到端加密和相互認證的安全通道。vEM28資訊網——每日最新資訊28at.com

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

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

5,值得期待的未來

Ockam的故事實際上只是一個縮影。對于今天被內存安全問題困擾的絕大多數項目來說,使用Rust或基于Rust的重構不再是一個實驗或賭注,而是一個足夠實用和可靠的解決方案。vEM28資訊網——每日最新資訊28at.com

在Ockam之前,微軟在4月份宣布,出于內存安全考慮,它將使用18萬行Rust代碼重寫核心Windows庫;Armin是Python web框架Flask的作者,他在一篇關于Python 2023發展趨勢的文章中也提出了將Rust集成到Python項目和工具中的想法;Ruff的創始人在成立新公司時,也曾宣稱未來將通過Rust徹底改變Python生態系統。vEM28資訊網——每日最新資訊28at.com

更令人欣慰的是,Rust的進化還在繼續。根據其發布的Rust 2024路線圖,官方團隊將在未來繼續努力,降低學習門檻,加強生態連接。幫助Rust盡快擺脫飽受詬病的“高門檻”標簽,讓它盡快在更多場景中發揮價值。在這方面,Rust的未來確實值得我們每個人的期待。vEM28資訊網——每日最新資訊28at.com

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

本文鏈接:http://m.www897cc.com/showinfo-26-76555-0.html用Rust重寫數萬行C代碼,有必要嗎?

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

上一篇: 保守點,90%的程序員不適合做獨立開發

下一篇: 搶先了解:阿里巴巴面試必問!Spring設計思想解析

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
国产一区二区欧美日韩| 欧美顶级艳妇交换群宴| 日韩视频免费观看高清完整版| 亚洲全部视频| 在线一区欧美| 国产日韩视频| 国产综合第一页| 亚洲欧洲午夜| 亚洲伊人观看| 久久久久天天天天| 欧美黄色小视频| 国产精自产拍久久久久久蜜| 一色屋精品视频在线看| 99国产精品99久久久久久| 午夜精品免费| 欧美高清视频一区二区| 国产精品极品美女粉嫩高清在线| 国产视频一区二区在线观看 | 国产一区二区三区四区老人| 亚洲国产欧美一区二区三区久久| 亚洲影视九九影院在线观看| 麻豆精品网站| 国产精品美女午夜av| 国产综合网站| 中文日韩在线| 久久资源av| 国产精品欧美一区二区三区奶水| 在线电影国产精品| 亚洲欧美国产精品桃花| 欧美二区不卡| 激情视频一区| 亚洲欧美日韩精品| 欧美激情一区二区三区蜜桃视频 | 亚洲一区二区伦理| 欧美二区在线播放| 国产午夜精品一区二区三区欧美| 日韩亚洲精品在线| 久久久水蜜桃| 国产精品一区二区女厕厕| 91久久精品一区| 久久精品99| 欧美性做爰毛片| 亚洲日本成人| 久久精品国产亚洲精品| 欧美午夜宅男影院在线观看| 亚洲国产欧美久久| 久久精品国产成人| 国产精品美女久久久浪潮软件| 亚洲黄色影院| 久久精品综合| 国产伦精品一区二区| 亚洲另类视频| 免费久久精品视频| 国产一区美女| 午夜欧美精品| 国产精品超碰97尤物18| 亚洲精品久久视频| 老司机精品福利视频| 国产三级欧美三级| 亚洲一区免费在线观看| 欧美日韩精品一区二区三区| 亚洲国产成人av| 久久久国产精品一区| 国产精品区一区二区三区| 一区二区免费在线视频| 欧美精品久久一区| 亚洲欧洲综合| 美女诱惑黄网站一区| 狠狠色丁香久久婷婷综合丁香 | 欧美人妖另类| 亚洲国产一区在线观看| 久久综合久久88| 国内精品久久久久影院优| 欧美一级大片在线免费观看| 国产精品久久久久毛片软件 | 国内精品久久久久久久影视麻豆| 午夜精品区一区二区三| 国产精品免费看片| 亚洲一区二区在线免费观看| 欧美三级午夜理伦三级中文幕 | 影音先锋久久精品| 久久久精品一区| 黑丝一区二区三区| 久久久久欧美| 在线精品视频一区二区| 老鸭窝毛片一区二区三区| 又紧又大又爽精品一区二区| 久久综合久久综合久久综合| 一区久久精品| 免费日韩视频| 91久久精品国产91久久| 欧美电影打屁股sp| 日韩一级二级三级| 久久久999精品| 在线观看一区二区精品视频| 久久嫩草精品久久久精品一| 亚洲成人影音| 欧美精品久久久久a| 99精品欧美一区| 欧美性大战久久久久| 午夜精品影院| 国产一区在线看| 久久夜精品va视频免费观看| 亚洲国产高清aⅴ视频| 欧美精品在线观看播放| av成人免费在线| 国产精品伦一区| 欧美一区二区三区男人的天堂| 国产一区二区三区黄视频| 久久久久九九视频| 91久久一区二区| 欧美色图首页| 欧美在线观看视频| 亚洲国产一区二区视频| 欧美日韩色婷婷| 亚洲欧美在线看| 永久免费精品影视网站| 欧美国产日韩一区二区| 亚洲午夜女主播在线直播| 国产啪精品视频| 卡一卡二国产精品| 一本一本久久| 国产欧美日韩91| 欧美成人精品一区二区三区| 亚洲一区一卡| 欧美色视频一区| 久久九九免费| 亚洲毛片在线免费观看| 国产精品亚洲美女av网站| 美女精品在线| 亚洲特级毛片| 激情久久五月| 欧美日韩视频在线观看一区二区三区| 亚洲免费中文| 亚洲国产成人高清精品| 欧美日韩在线播放三区四区| 欧美综合第一页| 亚洲每日更新| 国产亚洲欧美日韩美女| 欧美日韩第一区| 久久九九久精品国产免费直播 | 久久免费黄色| 亚洲桃色在线一区| 亚洲高清视频一区| 国产精品久久久久久久久久ktv| 久久久久99精品国产片| 在线中文字幕一区| 影音先锋日韩精品| 国产精品一级在线| 欧美高清一区| 久久国产福利| 夜色激情一区二区| 精品成人久久| 国产精品视频一二| 欧美激情精品久久久久久大尺度| 香蕉久久夜色精品国产使用方法 | 久久蜜桃av一区精品变态类天堂| 亚洲在线视频网站| 亚洲三级免费| 黄色精品在线看| 国产精品欧美激情| 欧美激情视频一区二区三区免费| 久久xxxx| 亚洲欧美日韩精品久久亚洲区 | 一区二区三区在线免费播放| 国产精品劲爆视频| 欧美巨乳波霸| 久久综合色影院| 午夜精品久久久久久久99水蜜桃 | 99精品国产福利在线观看免费| 极品av少妇一区二区| 国产美女精品视频免费观看| 欧美日韩一区二区三区免费| 牛人盗摄一区二区三区视频| 欧美中在线观看| 亚洲免费在线精品一区| 一本色道久久综合亚洲精品高清| 亚洲黄色毛片| 在线日韩av| 精品1区2区| 国内精品美女在线观看| 国产日韩在线亚洲字幕中文| 国产精品久久婷婷六月丁香| 欧美日韩国产综合视频在线观看中文 | 先锋a资源在线看亚洲| 亚洲一区二区日本| 一本一本久久| 日韩视频免费在线观看| 亚洲韩日在线| 亚洲经典自拍| 亚洲国产日韩欧美在线99 | 在线播放精品| 精品va天堂亚洲国产| 狠狠色伊人亚洲综合成人 | 亚洲免费一区二区| 亚洲天堂第二页| 99精品国产在热久久婷婷| 亚洲激情中文1区| 亚洲欧洲另类| 亚洲国产精品毛片| 亚洲黄色免费| 日韩亚洲在线观看| 在线亚洲自拍| 这里只有视频精品|