返回

文章详情

增量 Rust 构建速度比 cargo/rustc 快 92 倍

Hacker News2026年10月27日 03:09

在毫秒内重建 Rust。与 cargo 相同的命令,前面加上 blaze。字面意义上,超快的 Rust。安装 · 尝试 · 多快 · 工作原理 · 文档 安装 curl -fsSL https://raw.githubusercontent.com/indexable-inc/blaze/main/install.sh | sh 对于苹果硅的 macOS 和 Linux,无论是否安装 Rust:blaze 仅需下载一次其构建所需的 Rust(大约 100 到 135 MB),或者使用 rustup 的版本。更愿意使用 crates.io 或 Nix 吗?其他安装方式。 尝试 在任何 Rust 项目中: blaze run # 类似于 cargo run blaze test # 类似于 cargo test blaze build # 类似于 cargo build 第一次构建运行 cargo,然后等待几秒钟让 blaze 加载你的项目。然后更改一个函数并再次构建:它在毫秒内恢复,完成行显示 [ra-jit](blaze 的引擎)。所有其他 cargo 命令直接传递给 cargo。在安装了 cargo 的地方,cargo blaze run 与 blaze run 是相同的。 多快 编辑在 macOS arm64 上重建速度快 10 倍,在 Linux aarch64 上快 24 倍,在 Linux x86-64 上快 11 倍,平均来看适用于真实项目。从保存文件到使用新代码的运行程序大约需要 20 毫秒,支持实时编辑。 编辑一个函数,然后构建(Linux x86-64) cargo build cargo blaze build ripgrep 508 毫秒 56 毫秒(快 9.1 倍) nushell 1.25 秒 236 毫秒(快 5.3 倍) helix 2.15 秒 116 毫秒(快 19 倍) bun(125 万行 Rust) 9.11 秒 451 毫秒(快 20 倍) 每个项目、平台、图表及其占用的内存和磁盘:基准测试。 工作原理 blaze 在 cargo 旁边运行,并保持你的项目编译在内存中。编辑后,它仅编译你修改的函数,并将它们写入已经构建的程序中,而不是从头开始重新链接。可以选择加入的程序在保持运行时可以使用新代码。 其他信息 macOS 在苹果硅和 Linux 上。在 Windows 上,每次构建都是 cargo 的。blaze 是其独立工具链。它使用自己的 Rust 构建每个项目,blaze-2026-10-25(今日的夜间版本),无论项目如何固定;稳定代码和 #![feature(...)] 代码构建。你的工具链和 CI 保持最终决定权(原因)。它用内存交换速度:对于小项目,使用几 GB。它仍在发展中。把 cargo check 或你的 CI 作为最终决定权,告诉我们当某事与 cargo 不同。所有细节:哪些可以用哪些还不能用。 了解更多 安装:要求,crates.io,Nix 使用 blaze:日常使用,保存时重建,使用 blaze 替代普通的 cargo build 基准测试:每个数字,如何测量,在哪些机器上 工作原理:代码的映射 cargo 兼容性:每个命令、标志和设置 热重载:更改正在运行的程序 CI 运行器和路线图:blaze 的未来方向 贡献 演示:可以编辑的生命游戏 nix run github:indexable-inc/blaze 这将打开一个生命游戏窗口。在苹果硅的 macOS 上,你可以在运行时更改其规则、颜色和速度;在其他地方,窗口在没有实时编辑的情况下运行。它需要 Nix,并且第一次从源代码构建 blaze 更新 想要获取发布消息:在 GitHub 上关注 → 自定义 → 发布。 在工作中使用 blaze 吗?我们正在与一些团队合作,进行快速 Rust CI 和远程构建,基于 blaze 构建。如果你的团队在 Rust 构建上等待,告诉我们是什么导致你的延迟:andrew@ix.dev 。 我们合作的团队可以提前访问并直接参与我们下一步的建设。 贡献 如何从检出构建 blaze,运行其测试并提交更改:docs/contributing.md 。 要报告安全问题:SECURITY.md 。 归功于 blaze 站在巨人的肩膀上。感谢那些构建的人员:rust-analyzer,其分析和 MIR blaze 由 Cranelift(字节码联盟)编译,快速代码生成器 LLVM 和 inkwell,优化的层级 salsa,底层增量引擎 object,用于读取和写入可执行文件 Rust 及其编译器 crates rustd(DioxusLabs),其代码包含在 blaze 中。 这些项目都没有支持 blaze。blaze 在 2026-10-24 之前被称为 ra-jit;cargo ra-jit 仍然有效。 在 ix 为 den 的原生应用制作。 MIT 或 Apache-2.0。

阅读全文 →

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

☕请我喝杯咖啡