AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

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

加速 Rust 編譯時間,掌握這個技巧,速度全面提升 30 ~ 40 %

來源: 責編: 時間:2024-04-03 17:44:03 254觀看
導讀大家好,我是漁夫。今天分享主題,如何加快 Rust 項目編譯時間的技巧,如果你還是個初學者,可能還體會不到它多慢。首先,建議確保你使用最新的 Rust 版本,因為,Rust 團隊正在努力改變這個事實,其實到今年為止,編譯器速度全面提高

大家好,我是漁夫。Ucz28資訊網——每日最新資訊28at.com

今天分享主題,如何加快 Rust 項目編譯時間的技巧,如果你還是個初學者,可能還體會不到它多慢。Ucz28資訊網——每日最新資訊28at.com

首先,建議確保你使用最新的 Rust 版本,因為,Rust 團隊正在努力改變這個事實,其實到今年為止,編譯器速度全面提高了 30-40% 了,一些項目的提高幅度高達 45% 以上。所以保持新版的好處。Ucz28資訊網——每日最新資訊28at.com

更新命令在這里:rustup update。Ucz28資訊網——每日最新資訊28at.com

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

cargo check 而非 cargo build

在許多數情況下,如果只想檢查代碼是否存在錯誤,是不必進行完整的編譯過程的。所以,盡量避免進行編譯,而是使用快速的代碼檢查、類型檢查和借用檢查。Ucz28資訊網——每日最新資訊28at.com

如何搞呢,建議使用 cargo check 而不是 cargo build。因為 cargo check 會快速檢查代碼,而不會生成可執行的二進制文件。Ucz28資訊網——每日最新資訊28at.com

建議使用 cargo watch -c

這個好處很多了,當使用 cargo watch -c 它是可以自動在代碼發生變化時進行代碼檢查,這樣你就可以更快地發現錯誤并進行及時修復。優點:即時反饋、提高效率、減少錯誤和方便性。Ucz28資訊網——每日最新資訊28at.com

切換到新的并行編譯器前端

你可以在 Nightly 版本中,啟用新的并行編譯器前端。使用 -Z threads=8 選項運行 Nightly 編譯器:Ucz28資訊網——每日最新資訊28at.com

RUSTFLAGS="-Z threads=8" cargo +nightly build

也可以通過添加 -Z threads=8到~/.cargo/config.toml文件中將其設為默認值:Ucz28資訊網——每日最新資訊28at.com

[build]rustflags = ["-Z", "threads=8"]

還可以在 shell 的配置文件中設置別名(例如/.bashrc或/.zshrc):Ucz28資訊網——每日最新資訊28at.com

alias cargo="RUSTFLAGS='-Z threads=8' cargo +nightly"

啟用 -Z threads=8 多線程編譯選項后,基準測試顯示編譯時間可能減少多達 50%。盡管實際性能提升會根據代碼而變化,但還是可以試試。Ucz28資訊網——每日最新資訊28at.com

以下是并行編譯器前端運行中的可視化,官網也可以說明:Ucz28資訊網——每日最新資訊28at.com

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

移除沒用的依賴項

刪除未使用的依賴,減少構建時間和資源消耗及減小項目體積。Ucz28資訊網——每日最新資訊28at.com

cargo install cargo-machete && cargo machete

找出代碼庫中編譯緩慢的 crate

運行 cargo build --timings 命令,這會提供關于每個 crate 編譯所花費的時間信息。Ucz28資訊網——每日最新資訊28at.com

編譯時間分析

如果,你想更加深入地了解 Rust 編譯過程使用 cargo rustc -- -Zself-profile 進行編譯時間分析。生成的跟蹤文件可以使用火焰圖或 Chromium 分析器進行可視化。Ucz28資訊網——每日最新資訊28at.com

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

測試,使用 Cargo Nextest 代替 cargo test

cargo install cargo-nextestcargo nextest run

Cargo 提供了一個小型測試運行器,這非常方便。但特別是在需要構建多個測試二進制文件時,由于其并行執行模型,使用cargo nextest 可以比cargo test 提高高達 60% 的速度。以下是一些快速基準測試:Ucz28資訊網——每日最新資訊28at.com

購買更好的電腦硬件

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

本文鏈接:http://www.tebozhan.com/showinfo-26-81248-0.html加速 Rust 編譯時間,掌握這個技巧,速度全面提升 30 ~ 40 %

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

上一篇: e.target 和 e.currentTarget 的區別?你到底知不知道?

下一篇: 用代碼實現流水線部署,像詩一般優雅

標簽:
  • 熱門焦點
  • 6月iOS設備性能榜:M2穩居榜首 A系列只能等一手3nm來救

    沒有新品發布,自然iOS設備性能榜的上榜設備就沒有什么更替,僅僅只有跑分變化而產生的排名變動,畢竟蘋果新品的發布節奏就是這樣的,一年下來也就幾個移動端新品,不會像安卓廠商,一
  • 太卷!Redmi MAX 100英寸電視便宜了:12999元買Redmi史上最大屏

    8月5日消息,從小米商城了解到,Redmi MAX 100英寸巨屏電視日前迎來官方優惠,到手價12999元,比發布價便宜了7000元,在大屏電視市場開卷。據了解,Redmi MAX 100
  • 摸魚心法第一章——和配置文件說拜拜

    為了能摸魚我們團隊做了容器化,但是帶來的問題是服務配置文件很麻煩,然后大家在群里進行了“親切友好”的溝通圖片圖片圖片圖片對比就對比,簡單對比下獨立配置中心和k8s作為配
  • 如何正確使用:Has和:Nth-Last-Child

    我們可以用CSS檢查,以了解一組元素的數量是否小于或等于一個數字。例如,一個擁有三個或更多子項的grid。你可能會想,為什么需要這樣做呢?在某些情況下,一個組件或一個布局可能會
  • 得物效率前端微應用推進過程與思考

    一、背景效率工程隨著業務的發展,組織規模的擴大,越來越多的企業開始意識到協作效率對于企業團隊的重要性,甚至是決定其在某個行業競爭中突圍的關鍵,是企業長久生存的根本。得物
  • 虛擬鍵盤 API 的妙用

    你是否在遇到過這樣的問題:移動設備上有一個固定元素,當激活虛擬鍵盤時,該元素被隱藏在了鍵盤下方?多年來,這一直是 Web 上的默認行為,在本文中,我們將探討這個問題、為什么會發生
  • 中國家電海外掘金正當時|出海專題

    作者|吳南南編輯|胡展嘉運營|陳佳慧出品|零態LT(ID:LingTai_LT)2023年,出海市場戰況空前,中國創業者在海外紛紛摩拳擦掌,以期能夠把中國的商業模式、創業理念、戰略打法輸出海外,他們依
  • 蘋果140W USB-C充電器:采用氮化鎵技術

    據10 月 30 日 9to5 Mac 消息報道,當蘋果推出新的 MacBook Pro 2021 時,該公司還推出了新的 140W USB-C 充電器,附贈在 MacBook Pro 16 英寸機型的盒子里,也支
  • 三翼鳥智能家居亮相電博會,讓用戶體驗更真實

    2021電博會在青島國際會展中心開幕中,三翼鳥直接把“家”搬到了現場,成為了展會的一大看點。這也是三翼鳥繼9月9日發布了行業首個一站式定制智慧家平臺后的
Top