LLM推論エンジン間でattentionのKVキャッシュを保存・共有・再利用し、time-to-first-tokenを短縮する管理レイヤー。
kunobi-ninja/kache
Rust、C/C++、CUDA向けのコンパイラキャッシュ。worktreeやCI実行間で一致するビルド成果物を復元し、再ビルドを減らします。
- スター
- 1,369
- フォーク
- 73
- 未解決の Issue
- 30
- 最終コミット
- 22 時間前
これは何?
Kacheは、入力、ツールチェーン、ビルド設定をキーにビルド成果物を保存し、後続のビルドで同じキーが生成されたときに復元するコンパイラキャッシュです。Linux、macOS、Windows上でのRust、C/C++、単一ソースのCUDAコンパイルに対応し、git worktreeやCI実行間でキャッシュを共有できます。
同一の出力バイト列は、設定したディスク容量の範囲内で一度だけ保存されます。copy-on-writeクローンに対応するファイルシステムでは、復元した出力とキャッシュがディスクブロックを共有します。同じキャッシュキーのコンパイルは実行中のビルドを共有し、スケジューラーがコンパイラプロセスの実行ペースを調整します。
ローカルキャッシュだけでも利用できます。リモートストレージには、S3互換ストレージ、Google Cloud Storage、共有ファイルシステム、OCIレジストリを利用できます。`kache explain`などのコマンドでキャッシュミスの理由を確認でき、対応していないコンパイラ呼び出しは通常どおり実行されます。
主な機能
- 01Rust、GCC、Clang、CUDAの対象コンパイラ出力をキャッシュから復元します。
- 02同一の出力は、設定可能なディスク容量の範囲内で一度だけ保存します。
- 03対応するファイルシステムでは、copy-on-writeクローンを使ってディスクブロックを共有します。
- 04同じキャッシュキーのビルドを実行中に共有します。
- 05リモートストレージとしてS3、Google Cloud Storage、共有ファイルシステム、OCIレジストリに対応します。
- 06`kache explain`とリアルタイムの`kache monitor`でキャッシュミスの理由を確認できます。
ユースケース
- 同じリポジトリの複数のgit worktree間で、Rustのビルドを繰り返す際の高速化。
- リモートキャッシュを使ったCI実行間でのコンパイル済み成果物の共有。
- 多数のworktreeで同じ大規模な依存関係ツリーをビルドするときのディスク使用量の削減。
- MakeまたはCMakeでビルドするプロジェクトでのC/C++またはCUDAコンパイルのキャッシュ。
クイックスタート
- 1
Cargo で Kache v2.0.0 をインストールする
cargo install kache --locked --version 2.0.0 - 2
ビルドツールで Kache を有効にする(適用前に変更内容を確認できます)
kache init - 3
ローカルプローブでセットアップを確認する
kache doctor --probe
使う前に知っておきたいこと
- Cargo でインストールするには Rust 1.95 以降が必要です。
- Rust の実行ファイルと build script の実行結果は、デフォルトでは Linux と macOS でのみキャッシュされます。Windows ではキャッシュ機能に制限があります。
トピック
よくある質問
- kache とは?
- Rust、C/C++、CUDA向けのコンパイラキャッシュ。worktreeやCI実行間で一致するビルド成果物を復元し、再ビルドを減らします。 Kacheは、入力、ツールチェーン、ビルド設定をキーにビルド成果物を保存し、後続のビルドで同じキーが生成されたときに復元するコンパイラキャッシュです。Linux、macOS、Windows上でのRust、C/C++、単一ソースのCUDAコンパイルに対応し、git worktreeやCI実行間でキャッシュを共有できます。
- kache は無料で使えますか?ライセンスは?
- kache は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- kache は今もメンテナンスされていますか?
- 活発にメンテナンス中。kache の最終コミットは 2026年11月6日 です。
- kache は何に使えますか?
- 同じリポジトリの複数のgit worktree間で、Rustのビルドを繰り返す際の高速化。 リモートキャッシュを使ったCI実行間でのコンパイル済み成果物の共有。 多数のworktreeで同じ大規模な依存関係ツリーをビルドするときのディスク使用量の削減。 MakeまたはCMakeでビルドするプロジェクトでのC/C++またはCUDAコンパイルのキャッシュ。
- kache のインストール方法は?
- Cargo で Kache v2.0.0 をインストールする: cargo install kache --locked --version 2.0.0 ビルドツールで Kache を有効にする(適用前に変更内容を確認できます): kache init ローカルプローブでセットアップを確認する: kache doctor --probe
- kache はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/kunobi-ninja/kache
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Luaベースのクロスプラットフォーム対応ビルドツール。C/C++をはじめ多くの言語をビルドでき、パッケージマネージャーも内蔵。
SConsは、再ビルドが必要な対象を判定し、ビルドに必要なコマンドを実行するPython製のソフトウェア構築ツールです。
Swiftコードを一貫したスタイルに自動整形するCLIツールとXcode拡張機能。
プロジェクト内のディレクトリ名とファイル名の命名規則を、.ls-lint.ymlで設定してチェックする高速なコマンドラインリンターです。