ccache

コンパイルを高速に行うためのプログラム.コンパイル途中の中間ファイルをキャッシュすることで処理時間を短くしてくれるらしい.

使い方は,以下の環境変数を次のように設定しておくだけ.

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