ccache は、コンパイラ・キャッシュで前回のプリプロセスの結果を再利用して次回以降のコンパイル時間を大幅に短縮する。
よって、ビルド(コンパイル+リンク)が大幅に高速化されます。
0. 前提条件
- Linux Mint 17(64bit), CentOS 7.0(64bit) での作業を想定。
- GCC(GNU Compiler Collection) 4.9.1 を想定。(別バージョンも同様のはず)
- 今回は使用しないが、make 時に
make -j [並列実行数]
で並列化することも可能であることも認識しておくとよいかも。
1. ccache インストール
パッケージマネージャもしくは apt-get
コマンド等でインストールするだけ。
(CentOS なら yum インストールできる(但し、ベースリポジトリには存在しないので “EPEL” リポジトリから))
1
|
|
2. ccache インストール確認
1 2 3 4 5 6 7 8 9 10 |
|
3. 使用方法
(キャッシュを利用するため、初回は高速化されず、2回目以降高速化されることを理解しておくこと)
3-1. Makefile を使用しない場合
以下のように先頭に ccache
を追加する。
1
|
|
3-2. Makefile を使用する場合M
C++ なら変数 CXX を、C なら CC を上書きして make
する。
File: C++
1 の場合
2 $ make CXX="ccache g++"
File: C
1 の場合
2 $ make CC="ccache gcc"
もしくは、Makefile 内で変数 CXX, CC を書き換えたり、 “.bashrc” 等で環境変数を設定しておいても良いだろう。
ちなみに、コンパイル・キャッシュは “$HOME/.ccache” に保存されている。
当方の場合、10秒位かかっていたビルドが1秒未満になり、ストレスが無くなりました。
以上。