基于 Cranelift 代码生成器的独立 WebAssembly 运行时,支持 WASI 并提供多语言嵌入接口。
indexable-inc/blaze
cargo 的即插即用替代前端,通过 JIT 只编译改动的函数,让 Rust 增量构建缩短到毫秒级。
- Star
- 2,034
- Fork
- 72
- 未关闭 Issue
- 115
- 最近提交
- 20小时前
这是什么?
blaze 与 cargo 并行运行,把项目保持在内存中编译状态。命令与 cargo 基本一致,只需在前面加上 `blaze`,例如 `blaze build`、`blaze run`、`blaze test`;其他 cargo 命令会直接交给 cargo 处理。
每次修改代码后,blaze 只编译被改动的函数,并把它们写入 cargo 已生成的程序中,而不是重新链接整个可执行文件。主动支持的程序可以在运行中加载新代码。项目基准测试显示,在 ripgrep、helix、bun 等被测项目上,修改后重新构建比 cargo 快数倍。
目前支持 Apple silicon 上的 macOS 和 Linux,Windows 下会回退到 cargo。blaze 使用自带的 Rust 工具链,可能与项目指定的版本不同,且内存占用较高,因此 cargo check 或 CI 仍应作为最终检查。
核心功能
- 01命令与 cargo 相同,只需加上 blaze 前缀。
- 02只重新编译改动的函数,并将其写入已有程序。
- 03主动支持的程序可在运行中加载代码修改。
- 04其他 cargo 命令原样透传给 cargo。
适用场景
- 加快大型 Rust 项目的编辑、构建、运行循环。
- 在 Rust 应用或游戏中快速迭代并实时修改代码。
- 缩短开发过程中本地运行测试的等待时间。
快速上手
- 1
运行 README 中的官方安装脚本
- 2
在任意 Rust 项目中,用 blaze 代替 cargo run 运行
blaze run
使用前须知
- 仅支持 macOS(Apple 芯片)和 Linux;在 Windows 上所有构建都会回退到 cargo。
- blaze 使用自带的 nightly Rust 工具链,而不是项目指定的工具链。
- 它以内存换速度,小项目也可能占用几 GB 内存。
- 项目还很年轻,应以 cargo check 或 CI 作为最终检查。
入选 Repolode 开源周刊
- 第 3 期 · 本周:从 SSD 流式加载专家跑大 MoE,以及 Rust 毫秒级重编译
cargo 的替代前端,命令前加 blaze 即可。它只用 JIT 编译改动过的函数并打补丁进运行中的程序,增量重编译降到毫秒级。
收录于专题
标签
常见问题
- blaze 是什么?
- cargo 的即插即用替代前端,通过 JIT 只编译改动的函数,让 Rust 增量构建缩短到毫秒级。 blaze 与 cargo 并行运行,把项目保持在内存中编译状态。命令与 cargo 基本一致,只需在前面加上 `blaze`,例如 `blaze build`、`blaze run`、`blaze test`;其他 cargo 命令会直接交给 cargo 处理。
- blaze 可以免费使用吗?用的什么许可证?
- blaze 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- blaze 还在维护吗?
- 活跃维护中。blaze 最近一次提交是在 2026年11月6日。
- blaze 适合用来做什么?
- 加快大型 Rust 项目的编辑、构建、运行循环。 在 Rust 应用或游戏中快速迭代并实时修改代码。 缩短开发过程中本地运行测试的等待时间。
- blaze 怎么安装和运行?
- 运行 README 中的官方安装脚本 在任意 Rust 项目中,用 blaze 代替 cargo run 运行: blaze run
- 在哪里获取 blaze?
- 源代码和安装说明在 GitHub 上:https://github.com/indexable-inc/blaze
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
Rust 官方包管理器,负责下载项目依赖并编译 Rust 项目。
一个用 C++ 编写的低延迟机器码生成库,可在运行时生成 x86/x64 与 AArch64 指令。
用 Rust 编写的 Python 3 解释器,不依赖 CPython 绑定,支持 WebAssembly 与嵌入 Rust 应用。
用于执行 Hack 语言程序的虚拟机,采用即时编译(JIT)提升性能。