ローカルおよびリモートでキャッシュされたコンパイラアーティファクトを復元することにより、コンパイル時間を短縮します。
Rust、C/C++、およびCUDAのために、コンテンツアドレスストレージとリモートバックエンドを使用してキャッシュされたコンパイラアーティファクトを復元することでビルドを高速化します。Zondax AGのKacheは、RUSTC_WRAPPERを介してCargoに接続し、S3、GCS、およびOCIストレージをサポートしています。これは、より迅速なローカル開発とCI/CD実行を必要とする開発者およびDevOpsエンジニアを対象としており、キャッシュを信頼性が高く、スペース効率を保つために自動ガーベジコレクションと強化された抽出を提供します。
kacheが以前のビルド出力を再利用してコンパイルを短縮する方法
Kacheはコンパイラ出力をコンテンツアドレスのローカルまたはリモートストアに保存し、コンパイラを再実行する代わりに一致するアーティファクトを復元します。Rust、C/C++、CUDAコンパイラをサポートし、CargoワークフローのためのRUSTC_WRAPPERとして機能します。この設計により、同一のコンパイル入力がキャッシュから同じアーティファクトを返すため、開発者のマシンとCIランナーの両方で繰り返しのコンパイル作業が削減されます。
通常の操作中にシステムリソースに与える影響
キャッシュ操作は重複排除と自動ガベージコレクションを通じてディスク使用を効率的に保つため、ローカルストレージは無限に増加しません。リモートバックエンドはアーティファクトをホスト外に移動し、S3、GCS、OCIレジストリに保存することで、開発者のマシンからストレージの圧力をシフトします。このツールはアーティファクトを再構築するのではなく読み取りと復元を行うため、キャッシュヒット中にCPUとコンパイル時間のI/Oが節約されます。
kacheがビルド環境で安全に動作するかどうか
強化された抽出はパストラバーサルや関連するリスクを防止します、これはツールの明示的なセキュリティ対策です。アーティファクトを取得して解凍する操作に対して、kacheはワークスペースにファイルを書き込む前に安全な処理チェックを適用します。これらの制御により、信頼できない入力が機密パスを上書きする可能性があるCI/CDランナーや共有キャッシュに適しています。
セットアップと日常使用の技術的な難易度
インストールと統合は開発者がツールチェーンに精通していることを期待します。Windowsではclang-clをサポートし、Cargoと一緒に使用する場合はRust 1.95以降が必要です。開発者はラッパーを一度初期化し、標準のcargoコマンドを使用し続けるため、日常使用はコマンドライン指向で、非技術的な貢献者よりもエンジニアやDevOpsスタッフを対象としています。
ビルドに焦点を当てたチームのための実用的な加速、ただし注目すべき互換性の注意点があります
Kacheは、Rust、C/C++、またはCUDAビルドを管理し、コンテンツアドレストストレージとクラウドバックエンドを介して予測可能なキャッシュヒットを望むエンジニアに適しています。そのセキュリティチェックとガーベジコレクションにより、共有CI環境に適しています。主なトレードオフはWindowsコンパイラのサポートです:MSVC cl.exeコンパイラをキャッシュしないため、そのツールチェーンに依存するチームにとっての価値が制限されます。





