Craneliftコードジェネレーターを基盤とするスタンドアロンのWebAssemblyランタイム。WASIに対応し、複数言語から組み込めます。
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
READMEに記載されている公式インストールスクリプトを実行します
- 2
任意のRustプロジェクトで、cargo runの代わりにblazeを実行します
blaze run
使う前に知っておきたいこと
- 対応しているのはmacOS(Appleシリコン)とLinuxのみです。Windowsではすべてのビルドがcargoにフォールバックします。
- blazeはプロジェクトで指定されたツールチェーンではなく、同梱のnightly Rustツールチェーンを使用します。
- 速度と引き換えにメモリを消費するため、小規模なプロジェクトでも数GB使用することがあります。
- まだ新しいプロジェクトのため、最終確認にはcargo checkやCIを引き続き使用してください。
Repolode 週刊で紹介
- 第 3 号 · SSDから専門家を読み込む大型MoEと、ミリ秒単位のRust再ビルド
cargo の代わりに使えるフロントエンドで、いつものコマンドに blaze を付けるだけです。変更された関数だけをJITコンパイルして実行中のプログラムに差し込み、増分ビルドをミリ秒単位にします。
収録されている特集
トピック
よくある質問
- 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 の数値は毎日更新されます。
関連プロジェクト
Rust公式のパッケージマネージャー。プロジェクトの依存関係をダウンロードし、Rustコードをコンパイルします。
実行時にx86/x64やAArch64の命令を出力できる、低レイテンシなマシンコード生成向けC++ライブラリ。
CPython bindingsを使わずにPythonコードを実行でき、WebAssemblyや組み込みにも対応したRust製Python 3インタプリタ。
Hackで書かれたプログラムを実行する仮想マシン。JITコンパイルにより高速に動作します。