Repolode
indexable-inc

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. 1

    运行 README 中的官方安装脚本

  2. 2

    在任意 Rust 项目中,用 blaze 代替 cargo run 运行

    blaze run

使用前须知

  • 仅支持 macOS(Apple 芯片)和 Linux;在 Windows 上所有构建都会回退到 cargo。
  • blaze 使用自带的 nightly Rust 工具链,而不是项目指定的工具链。
  • 它以内存换速度,小项目也可能占用几 GB 内存。
  • 项目还很年轻,应以 cargo check 或 CI 作为最终检查。

入选 Repolode 开源周刊

收录于专题

标签

#rust#cargo#incremental-compilation#jit#compiler#developer-tools#hot-reload#cranelift#live-coding#rust-analyzer

常见问题

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 数据每日更新。

相关项目

一个用 C++ 编写的低延迟机器码生成库,可在运行时生成 x86/x64 与 AArch64 指令。

开发者工具#jit#machine-code#assembler
4633+3 本周606C++Zlib维护活跃更新于 3天前