Repolode
indexable-inc

indexable-inc/blaze

実行中のプログラムに変更した関数だけをJITコンパイルする、差し替え可能なcargoフロントエンド。Rustの増分ビルドを数ミリ秒に短縮します。

スター
2,034
フォーク
72
未解決の Issue
115
最終コミット
10 時間前

これは何?

blazeはcargoと並行して動作し、プロジェクトをメモリ上にコンパイル済みの状態で保持します。`blaze build`、`blaze run`、`blaze test`のように、cargoと同じコマンドの前に`blaze`を付けて実行でき、それ以外のcargoコマンドはそのままcargoに渡されます。

コードを編集すると、blazeは変更した関数だけをコンパイルし、バイナリ全体を再リンクする代わりに、cargoがすでにビルドしたプログラムへ書き込みます。対応するプログラムなら、実行を続けたまま新しいコードを反映できます。プロジェクトのベンチマークでは、ripgrep、helix、bunを含むテスト対象のプロジェクトで、編集からビルドまでの時間がcargoより数倍速いと報告されています。

blazeはApple silicon搭載のmacOSとLinuxに対応しており、Windowsではcargoにフォールバックします。独自のRustツールチェーンを使用するため、プロジェクトで固定しているバージョンと異なる場合があります。また、メモリ使用量が目立って多いため、最終確認にはcargo checkまたはCIを引き続き使用してください。

主な機能

  • 01cargoと同じコマンドを、前にblazeを付けて実行できます。
  • 02変更した関数だけを再コンパイルし、既存のプログラムに反映します。
  • 03対応するプログラムでは、実行中にコードを変更できます。
  • 04その他のcargoコマンドは変更せずにそのまま渡します。

ユースケース

  • 大規模なRustプロジェクトで、編集・ビルド・実行のサイクルを高速化する。
  • ライブコード変更に対応したRustアプリケーションやゲームを素早く開発する。
  • 開発中のローカルテストの待ち時間を短縮する。

クイックスタート

  1. 1

    READMEに記載されている公式インストールスクリプトを実行します

  2. 2

    任意のRustプロジェクトで、cargo runの代わりにblazeを実行します

    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 とは?
実行中のプログラムに変更した関数だけをJITコンパイルする、差し替え可能なcargoフロントエンド。Rustの増分ビルドを数ミリ秒に短縮します。 blazeはcargoと並行して動作し、プロジェクトをメモリ上にコンパイル済みの状態で保持します。`blaze build`、`blaze run`、`blaze test`のように、cargoと同じコマンドの前に`blaze`を付けて実行でき、それ以外のcargoコマンドはそのままcargoに渡されます。
blaze は無料で使えますか?ライセンスは?
blaze は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
blaze は今もメンテナンスされていますか?
活発にメンテナンス中。blaze の最終コミットは 2026年11月6日 です。
blaze は何に使えますか?
大規模なRustプロジェクトで、編集・ビルド・実行のサイクルを高速化する。 ライブコード変更に対応したRustアプリケーションやゲームを素早く開発する。 開発中のローカルテストの待ち時間を短縮する。
blaze のインストール方法は?
READMEに記載されている公式インストールスクリプトを実行します 任意のRustプロジェクトで、cargo runの代わりにblazeを実行します: blaze run
blaze はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/indexable-inc/blaze

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

NumPyに対応したオープンソースのJITコンパイラ。LLVMを使って数値計算向けPython関数を高速なマシンコードに変換します。

1.1万+3 今週1353PythonBSD-2-Clause活発にメンテナンス更新 昨日

実行時にx86/x64やAArch64の命令を出力できる、低レイテンシなマシンコード生成向けC++ライブラリ。

開発ツール#jit#machine-code#assembler
4633+3 今週606C++Zlib活発にメンテナンス更新 一昨日