あるワークスペースを使用して構築された ccache を共有して、別のワークスペースで使用できるようにしたいと考えています。これにより、ccache データの 1 つのコピーが同一のソース コードのコンパイルに使用されます。
例: 1) ワークスペース (home/user/source_code1) を作成しました。2)サーバーからコードを同期しました。3) USE_CCACHE=1 でコードをコンパイル
上記は私のccacheを構築します。今、私は次のことを行います
ケース 1: 1) ワークスペース (home/user/source_code2) を作成しました。2) サーバーからここで同一のソース コードを同期しました。3) 以前のワークスペースで行ったのと同じコンパイルを行いました。
ケース 2: 1) ワークスペース home/user/source_code1 を削除します。2) 以前のワークスペース (home/user/source_code1) を再作成します。2) サーバーからコードを再同期しました。3) USE_CCACHE=1 でコードをコンパイル
source_code2 のコンパイルで source_code1 からビルドされた ccache を使用したいのですが、同じワークスペースを削除して再作成するときは、既にビルドされている ccache でコンパイルを行う必要があります。同じことを達成するための指針は大歓迎です!
上記の両方のケースで現在見られる結果は、ccache がビルドされているにもかかわらず、使用されていないか、ccache にヒットがなく、新しいワークスペースが使用されるたびに構築され続けます。 -以前のソース コード (home/user/source_code1) を削除せずに同じワークスペースでコンパイルすると、ccache コンパイルがジャンプし、ビルド時間の短縮に役立つヒットが発生します。
新しいワークスペースが使用されるたびに ccache ヒットが表示されないのはなぜですか?
「キャッシュ ヒット (直接) やキャッシュ ヒット (前処理)」ではなく、常に「ccache ミス」をインクリメントします。また、「キャッシュ ヒット (ダイレクト)」は常に 0 です。
以下の変数を設定しました。
CCACHE_BASEDIR=/home/user
USE_CCACHE=1
CCACHE_DIR=/home/user/ccache
CCACHE_SLOPPINESS=time_macros,file_macro
ここで何か不足している場合はお知らせください。