Ccache
gcc
のための素敵なツール、それが ccache
です。ccache の説明は ホームページ にあります。
同じプログラムを何度もコンパイルするような場合 (複数のカーネルパッチを試してみたり、ソフトウェアの開発でテストしたりするような場合など) に、ccache
はうってつけです。ccache
でプログラムをコンパイルすると最初は数秒だけ長く時間がかかりますが、それ以降のコンパイルはずっと早くなります。
目次
インストール
公式リポジトリから ccache をインストールしてください。
makepkg で ccache を有効にする
makepkg の使用時に ccache を有効にするには /etc/makepkg.conf
を編集して下さい。BUILDENV
の中の ccache の前のエクスクラメーションマークを除去すれば有効になります。例:
BUILDENV=(fakeroot !distcc color ccache !xdelta)
コマンドラインで有効にする
パッケージを作成するのではなく、コマンドラインからコードをコンパイルするとき、ccache
を使うことでコンパイル速度を向上させることができます。
そのためには、$PATH
に ccache
のバイナリを(コンパイラのパスの前に)含むようにする必要があります。
export PATH="/usr/lib/ccache/bin/:$PATH"
定期的に使う場合は ~/.bashrc
ファイルにこの行を加えると良いでしょう。
colorgcc で有効にする
colorgcc もコンパイララッパーなので、正しい順番でラッパーが呼ばれるように注意する必要があります。
export PATH="/usr/lib/colorgcc/bin/:$PATH" # As per usual colorgcc installation, leave unchanged (don't add ccache) export CCACHE_PATH="/usr/bin" # Tell ccache to only use compilers here
そして本当のコンパイラの代わりに ccache を呼び出すように colorgcc を設定してください。/etc/colorgcc/colorgccrc
を編集し /usr/bin
のパスを /usr/lib/ccache/bin
にある全てのコンパイラに対応するように /usr/lib/ccache/bin
のパスに変更します:
/etc/colorgcc/colorgccrc
g++: /usr/lib/ccache/bin/g++ gcc: /usr/lib/ccache/bin/gcc c++: /usr/lib/ccache/bin/g++ cc: /usr/lib/ccache/bin/cc g77:/usr/bin/g77 f77:/usr/bin/g77 gcj:/usr/bin/gcj
その他
キャッシュディレクトリを変更する
デフォルトの "~/.ccache" ディレクトリから、SSD や RAM ディスクなどの高速にアクセス可能な場所にキャッシュディレクトリを移動することができます。
キャッシュの位置を変更するには:
export CCACHE_DIR=/ramdisk/ccache # Tell ccache to use this path to store its cache
CLI
ccache のコマンドラインユーティリティを使うことで以下の操作ができます。
統計を表示する:
$ ccache -s
キャッシュを完全に削除する:
$ ccache -C