「Ccache」の版間の差分
細 (文字列「[[zh-CN:」を「[[zh-hans:」に置換) |
(同期) |
||
15行目: | 15行目: | ||
== 設定 == |
== 設定 == |
||
+ | |||
+ | 設定ファイルを使うことでデフォルトの挙動を上書きできます。設定の優先順位は以下の通りです (優先順位の高いものから並べています): |
||
+ | # 環境変数 |
||
+ | # ユーザー個別の設定ファイル ({{ic|$HOME/.ccache/ccache.conf}}) |
||
+ | # 全ユーザー共通の設定ファイル ({{ic|/etc/ccache.conf}}) |
||
=== makepkg で ccache を有効にする === |
=== makepkg で ccache を有効にする === |
||
53行目: | 58行目: | ||
デフォルトの {{ic|~/.ccache}} ディレクトリから、[[SSD]] や [[fstab#tmpfs|RAM ディスク]]などの高速にアクセス可能な場所にキャッシュディレクトリを移動することができます。 |
デフォルトの {{ic|~/.ccache}} ディレクトリから、[[SSD]] や [[fstab#tmpfs|RAM ディスク]]などの高速にアクセス可能な場所にキャッシュディレクトリを移動することができます。 |
||
− | キャッシュの位置を変更するには: |
+ | キャッシュの位置を変更するには (現在のシェルでのみ有効): |
$ export CCACHE_DIR=/ramdisk/ccache |
$ export CCACHE_DIR=/ramdisk/ccache |
||
+ | |||
+ | === 最大キャッシュ容量の設定 === |
||
+ | デフォルトでは5ギガバイトとなっていますが、多くしたり少なくしたりすることができます: |
||
+ | |||
+ | {{hc|1=$HOME/.ccache/ccache.conf| |
||
+ | 2=max_size = 2.0G}} |
||
=== 環境変数でキャッシュを無効化 === |
=== 環境変数でキャッシュを無効化 === |
2017年5月18日 (木) 23:12時点における版
gcc
のための素敵なツール、それが ccache
です。ccache の説明は ホームページ にあります。
同じプログラムを何度もコンパイルするような場合 (複数のカーネルパッチを試してみたり、ソフトウェアの開発でテストしたりするような場合など) に、ccache
はうってつけです。ccache
でプログラムをコンパイルすると最初は数秒だけ長く時間がかかりますが、それ以降のコンパイルはずっと早くなります。
目次
インストール
公式リポジトリから ccache をインストールしてください。
設定
設定ファイルを使うことでデフォルトの挙動を上書きできます。設定の優先順位は以下の通りです (優先順位の高いものから並べています):
- 環境変数
- ユーザー個別の設定ファイル (
$HOME/.ccache/ccache.conf
) - 全ユーザー共通の設定ファイル (
/etc/ccache.conf
)
makepkg で ccache を有効にする
makepkg の使用時に ccache を有効にするには /etc/makepkg.conf
を編集して下さい。BUILDENV
の中の ccache の前のエクスクラメーションマークを除去すれば有効になります。例:
/etc/makepkg.conf
BUILDENV=(fakeroot !distcc color ccache check !sign)
コマンドラインで有効にする
パッケージを作成するのではなく、コマンドラインからコードをコンパイルするとき、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
最大キャッシュ容量の設定
デフォルトでは5ギガバイトとなっていますが、多くしたり少なくしたりすることができます:
$HOME/.ccache/ccache.conf
max_size = 2.0G
環境変数でキャッシュを無効化
現在のシェルでのみ CCache を無効化したい場合、以下を設定:
$ export CCACHE_DISABLE=1
CLI
ccache のコマンドラインユーティリティを使うことで以下の操作ができます。
統計を表示する:
$ ccache -s
キャッシュを完全に削除する:
$ ccache -C
makechrootpkg
makechrootpkg で ccache を使うこともできます。makechrootpkg の -d
オプションを使うことで通常の環境から chroot にキャッシュディレクトリをバインドすることが可能です:
$ mkdir /path/of/chroot/ccache $ makechrootpkg -d /path/to/cache/:/ccache -r /path/of/chroot -- CCACHE_DIR=/ccache
上記で説明しているように chroot でも ccache が使われるように設定してください。