「Ccache」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(文字列「[[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インストールしてください。

設定

設定ファイルを使うことでデフォルトの挙動を上書きできます。設定の優先順位は以下の通りです (優先順位の高いものから並べています):

  1. 環境変数
  2. ユーザー個別の設定ファイル ($HOME/.ccache/ccache.conf)
  3. 全ユーザー共通の設定ファイル (/etc/ccache.conf)

makepkg で ccache を有効にする

makepkg の使用時に ccache を有効にするには /etc/makepkg.conf を編集して下さい。BUILDENV の中の ccache の前のエクスクラメーションマークを除去すれば有効になります。例:

/etc/makepkg.conf
BUILDENV=(fakeroot !distcc color ccache check !sign)
ノート: KDE などをコンパイルする場合は CPP や CXX の export を無効にする必要があります、それでいくつかのエラーを止めることができます。

コマンドラインで有効にする

パッケージを作成するのではなく、コマンドラインからコードをコンパイルするとき、ccache を使うことでコンパイル速度を向上させることができます。

そのためには、$PATHccache のバイナリを(コンパイラのパスの前に)含むようにする必要があります。

$ export PATH="/usr/lib/ccache/bin/:$PATH"

定期的に使う場合は ~/.bashrc ファイルにこの行を加えると良いでしょう。

ノート: 上記の設定をすると makepkg でも ccache が有効になります。

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 ディレクトリから、SSDRAM ディスクなどの高速にアクセス可能な場所にキャッシュディレクトリを移動することができます。

キャッシュの位置を変更するには (現在のシェルでのみ有効):

$ 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 が使われるように設定してください。

参照