目次

ccache

ccache公式ページより引用

ccache is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when the same compilation is being done again. Supported languages are C, C++, Objective-C and Objective-C++.

コンパイル時にキャッシュを作り,以降のコンパイルを高速化するツール
C, C++, Objective-C, Objective-C++に対応.
ARMマイコン用のコンパイラ(GNU Arm Embedded Toolchain)に対しても適用が可能.試してみたがあまりの高速化に感動した.

インストール

MacOS

Homebrewで入れるのが楽

brew install ccache

Windows

MSYS2を使ってインストールできる.
MSYS2 MSYSからインストールするccacheは調子が悪かったが,MSYS2 MinGW64からインストールするccache(mingw-w64-x86_64-ccache)はうまく動いた. 下記コマンドでインストール

pacman -S mingw-w64-x86_64-ccache

ccacheのキャッシュの保管ディレクトリがどこからか変更できる思うのでどうやっていじるのか確認する.

Windowsは公式にサポートしているOSではないけどバイナリは配布されている.
公式にバイナリのダウンロードページがあるので,そこからバイナリをダウンロードして環境変数のPathに登録しておく.

使い方

$ gcc foo.c

$ ccache gcc foo.c

gccなどのコマンドの前にccacheを追加するだけ
今の所ccacheのキャッシュを入れておくディレクトリを変更する方法がわからない… windowsだと更にわからない…

参考文献

C/C++のコンパイルを高速化する|ccache
ccacheを使って共同作業のビルド時間を改善する いかにしてコンパイル時間を短縮するか
ccache でビルド高速化。と設定のポイント
「-j」オプションと「ccache」でコンパイル時間を400%高速化する方法