当前位置:首页 > 科技  > 软件

加速 Rust 编译时间,掌握这个技巧,速度全面提升 30 ~ 40 %

来源: 责编: 时间:2024-04-03 17:44:03 300观看
导读大家好,我是渔夫。今天分享主题,如何加快 Rust 项目编译时间的技巧,如果你还是个初学者,可能还体会不到它多慢。首先,建议确保你使用最新的 Rust 版本,因为,Rust 团队正在努力改变这个事实,其实到今年为止,编译器速度全面提高

大家好,我是渔夫。rhR28资讯网——每日最新资讯28at.com

今天分享主题,如何加快 Rust 项目编译时间的技巧,如果你还是个初学者,可能还体会不到它多慢。rhR28资讯网——每日最新资讯28at.com

首先,建议确保你使用最新的 Rust 版本,因为,Rust 团队正在努力改变这个事实,其实到今年为止,编译器速度全面提高了 30-40% 了,一些项目的提高幅度高达 45% 以上。所以保持新版的好处。rhR28资讯网——每日最新资讯28at.com

更新命令在这里:rustup update。rhR28资讯网——每日最新资讯28at.com

rhR28资讯网——每日最新资讯28at.com

cargo check 而非 cargo build

在许多数情况下,如果只想检查代码是否存在错误,是不必进行完整的编译过程的。所以,尽量避免进行编译,而是使用快速的代码检查、类型检查和借用检查。rhR28资讯网——每日最新资讯28at.com

如何搞呢,建议使用 cargo check 而不是 cargo build。因为 cargo check 会快速检查代码,而不会生成可执行的二进制文件。rhR28资讯网——每日最新资讯28at.com

建议使用 cargo watch -c

这个好处很多了,当使用 cargo watch -c 它是可以自动在代码发生变化时进行代码检查,这样你就可以更快地发现错误并进行及时修复。优点:即时反馈、提高效率、减少错误和方便性。rhR28资讯网——每日最新资讯28at.com

切换到新的并行编译器前端

你可以在 Nightly 版本中,启用新的并行编译器前端。使用 -Z threads=8 选项运行 Nightly 编译器:rhR28资讯网——每日最新资讯28at.com

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

也可以通过添加 -Z threads=8到~/.cargo/config.toml文件中将其设为默认值:rhR28资讯网——每日最新资讯28at.com

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

还可以在 shell 的配置文件中设置别名(例如/.bashrc或/.zshrc):rhR28资讯网——每日最新资讯28at.com

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

启用 -Z threads=8 多线程编译选项后,基准测试显示编译时间可能减少多达 50%。尽管实际性能提升会根据代码而变化,但还是可以试试。rhR28资讯网——每日最新资讯28at.com

以下是并行编译器前端运行中的可视化,官网也可以说明:rhR28资讯网——每日最新资讯28at.com

rhR28资讯网——每日最新资讯28at.com

移除没用的依赖项

删除未使用的依赖,减少构建时间和资源消耗及减小项目体积。rhR28资讯网——每日最新资讯28at.com

cargo install cargo-machete && cargo machete

找出代码库中编译缓慢的 crate

运行 cargo build --timings 命令,这会提供关于每个 crate 编译所花费的时间信息。rhR28资讯网——每日最新资讯28at.com

编译时间分析

如果,你想更加深入地了解 Rust 编译过程使用 cargo rustc -- -Zself-profile 进行编译时间分析。生成的跟踪文件可以使用火焰图或 Chromium 分析器进行可视化。rhR28资讯网——每日最新资讯28at.com

rhR28资讯网——每日最新资讯28at.com

测试,使用 Cargo Nextest 代替 cargo test

cargo install cargo-nextestcargo nextest run

Cargo 提供了一个小型测试运行器,这非常方便。但特别是在需要构建多个测试二进制文件时,由于其并行执行模型,使用cargo nextest 可以比cargo test 提高高达 60% 的速度。以下是一些快速基准测试:rhR28资讯网——每日最新资讯28at.com

购买更好的电脑硬件

rhR28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-81248-0.html加速 Rust 编译时间,掌握这个技巧,速度全面提升 30 ~ 40 %

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

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

下一篇: 用代码实现流水线部署,像诗一般优雅

标签:
  • 热门焦点
  • 6月iOS设备好评榜:第一蝉联榜首近一年

    作为安兔兔各种榜单里变化最小的那个,2023年6月的iOS好评榜和上个月相比没有任何排名上的变化,仅仅是部分设备好评率的下降,长年累月的用户评价和逐渐退出市场的老款机器让这
  • 摸鱼心法第一章——和配置文件说拜拜

    为了能摸鱼我们团队做了容器化,但是带来的问题是服务配置文件很麻烦,然后大家在群里进行了“亲切友好”的沟通图片图片图片图片对比就对比,简单对比下独立配置中心和k8s作为配
  • 得物效率前端微应用推进过程与思考

    一、背景效率工程随着业务的发展,组织规模的扩大,越来越多的企业开始意识到协作效率对于企业团队的重要性,甚至是决定其在某个行业竞争中突围的关键,是企业长久生存的根本。得物
  • 微软邀请 Microsoft 365 商业用户,测试视频编辑器 Clipchamp

    8 月 1 日消息,微软近日宣布即将面向 Microsoft 365 商业用户,开放 Clipchamp 应用,邀请用户通过该应用来编辑视频。微软于 2021 年收购 Clipchamp,随后开始逐步整合到 Microsof
  • 慕岩炮轰抖音,百合网今何在?

    来源:价值研究所 作者:Hernanderz“难道就因为自己的一个产品牛逼了,从客服到总裁,都不愿意正视自己产品和运营上的问题,选择逃避了吗?”这一番话,出自百合网联合创
  • 新电商三兄弟,“抖快红”成团!

    来源:价值研究所作 者:Hernanderz 随着内容电商的概念兴起,抖音、快手、小红书组成的“新电商三兄弟”成为业内一股不可忽视的势力,给阿里、京东、拼多多带去了巨大压
  • 回归OPPO两年,一加赢了销量,输了品牌

    成为OPPO旗下主打性能的先锋品牌后,一加屡创佳绩。今年618期间,一加手机全渠道销量同比增长362%,凭借一加 11、一加 Ace 2、一加 Ace 2V三款爆品,一加
  • 联想小新Pad Pro 12.6将要推出,搭载高通骁龙 870 处理器

    联想小新Pad Pro 12.6将于秋季新品会上推出,官方按照惯例直接在发布会前给出了机型的所有参数。联想小新 Pad Pro 12.6 将搭载高通骁龙 870 处理器,重量为 5
  • 最薄的14英寸游戏笔记本电脑 Alienware X14已可以购买

    2022年1月份在国际消费电子展(CES2022)上首次亮相的Alienware新品——Alienware X14现在已经可以购买了,这款笔记本电脑被誉为世界上最薄的 14 英寸游戏笔
Top