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

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

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

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

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

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

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

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

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

cargo check 而非 cargo build

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

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

建議使用 cargo watch -c

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

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

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

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

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

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

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

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

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

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

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

移除沒用的依賴項

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

cargo install cargo-machete && cargo machete

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

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

編譯時間分析

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

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

測試,使用 Cargo Nextest 代替 cargo test

cargo install cargo-nextestcargo nextest run

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

購買更好的電腦硬件

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

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

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

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

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

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 孝义市| 阜宁县| 西乌| 长岛县| 潞西市| 崇礼县| 抚松县| 临泽县| 宣恩县| 开封市| 综艺| 临清市| 武山县| 锡林郭勒盟| 平乡县| 赫章县| 融水| 凤台县| 宜春市| 合川市| 巴塘县| 瑞丽市| 建始县| 江山市| 浙江省| 七台河市| 常德市| 秭归县| 丰顺县| 潢川县| 上虞市| 金门县| 白山市| 阿图什市| 海晏县| 婺源县| 昭觉县| 秦皇岛市| 山丹县| 通州区| 中江县|