コンパイルを高速に行うためのプログラム.コンパイル途中の中間ファイルをキャッシュすることで処理時間を短くしてくれるらしい.
使い方は,以下の環境変数を次のように設定しておくだけ.
export CC="/usr/bin/ccache gcc" export CXX="/usr/bin/ccache gcc" export CCACHE_DIR=/tmp/.$(USER).cacche
妙なことをしていない Makefile なら,環境変数CCやCXXでコンパイルするはずなので,これだけで ccache の恩恵にあやかれる.
$CCACHE_DIR で指定したディレクトリは,コンパイル途中の中間ファイルのキャッシュを保存するディレクトリになる.デフォルトだと,$HOME直下にディレクトリを作るのだけど,$HOME をNFSで共有しているので/tmp あたりに設定しておいたほうが幸せになれる気がする.
キャッシュの状態は
ccache -s
で,確認される.
ちなみに,手元の開発用マシンのキャッシュの状態を見ると次のようになっていた.
cache directory /tmp/.xxxxx.ccache cache hit 1395489 cache miss 1818791 called for link 251072 multiple source files 5244 compile failed 67552 ccache internal error 123 preprocessor error 29326 couldn't find the compiler 360 cache file missing 6 not a C/C++ file 102151 autoconf compile/link 474264 unsupported compiler option 103723 no input file 171397 files in cache 77786 cache size 780.2 Mbytes max cache size 976.6 Mbytes