「Ccache」の版間の差分
細 (1版 をインポートしました) |
(同期) |
||
(同じ利用者による、間の6版が非表示) | |||
1行目: | 1行目: | ||
− | [[Category:パッケージ開発] |
+ | [[Category:パッケージ開発]] |
[[en:Ccache]] |
[[en:Ccache]] |
||
− | [[ |
+ | [[pt:Ccache]] |
+ | [[zh-hans:Ccache]] |
||
{{Related articles start}} |
{{Related articles start}} |
||
− | {{ |
+ | {{Related|Makepkg}} |
− | {{ |
+ | {{Related|Distcc}} |
{{Related articles end}} |
{{Related articles end}} |
||
{{Ic|gcc}} のための素敵なツール、それが {{Ic|ccache}} です。ccache の説明は [http://ccache.samba.org ホームページ] にあります。 |
{{Ic|gcc}} のための素敵なツール、それが {{Ic|ccache}} です。ccache の説明は [http://ccache.samba.org ホームページ] にあります。 |
||
12行目: | 13行目: | ||
== インストール == |
== インストール == |
||
− | + | {{pkg|ccache}} パッケージを[[pacman|インストール]]してください。 |
|
+ | |||
+ | == 設定 == |
||
+ | |||
+ | 設定ファイルを使うことでデフォルトの挙動を上書きできます。設定の優先順位は以下の通りです (優先順位の高いものから並べています): |
||
+ | # 環境変数 |
||
+ | # ユーザー個別の設定ファイル ({{ic|$HOME/.ccache/ccache.conf}}) |
||
+ | # 全ユーザー共通の設定ファイル ({{ic|/etc/ccache.conf}}) |
||
=== makepkg で ccache を有効にする === |
=== makepkg で ccache を有効にする === |
||
makepkg の使用時に ccache を有効にするには {{ic|/etc/makepkg.conf}} を編集して下さい。{{Ic|BUILDENV}} の中の ccache の前のエクスクラメーションマークを除去すれば有効になります。例: |
makepkg の使用時に ccache を有効にするには {{ic|/etc/makepkg.conf}} を編集して下さい。{{Ic|BUILDENV}} の中の ccache の前のエクスクラメーションマークを除去すれば有効になります。例: |
||
+ | {{hc|1=/etc/makepkg.conf| |
||
− | BUILDENV=(fakeroot !distcc color ccache !xdelta) |
||
+ | 2=BUILDENV=(fakeroot !distcc color '''ccache''' check !sign)}} |
||
{{Note|KDE などをコンパイルする場合は CPP や CXX の export を無効にする必要があります、それでいくつかのエラーを止めることができます。}} |
{{Note|KDE などをコンパイルする場合は CPP や CXX の export を無効にする必要があります、それでいくつかのエラーを止めることができます。}} |
||
25行目: | 34行目: | ||
そのためには、{{Ic|$PATH}} に {{Ic|ccache}} のバイナリを(コンパイラのパスの前に)含むようにする必要があります。 |
そのためには、{{Ic|$PATH}} に {{Ic|ccache}} のバイナリを(コンパイラのパスの前に)含むようにする必要があります。 |
||
− | export PATH="/usr/lib/ccache/bin/:$PATH" |
+ | $ export PATH="/usr/lib/ccache/bin/:$PATH" |
定期的に使う場合は {{ic|~/.bashrc}} ファイルにこの行を加えると良いでしょう。 |
定期的に使う場合は {{ic|~/.bashrc}} ファイルにこの行を加えると良いでしょう。 |
||
+ | |||
+ | {{Note|上記の設定をすると makepkg でも ccache が有効になります。}} |
||
=== colorgcc で有効にする === |
=== colorgcc で有効にする === |
||
46行目: | 57行目: | ||
== その他 == |
== その他 == |
||
=== キャッシュディレクトリを変更する === |
=== キャッシュディレクトリを変更する === |
||
− | デフォルトの |
+ | デフォルトの {{ic|~/.ccache}} ディレクトリから、[[SSD]] や [[fstab#tmpfs|RAM ディスク]]などの高速にアクセス可能な場所にキャッシュディレクトリを移動することができます。 |
− | キャッシュの位置を変更するには: |
+ | キャッシュの位置を変更するには (現在のシェルでのみ有効): |
− | export CCACHE_DIR=/ramdisk/ccache |
+ | $ export CCACHE_DIR=/ramdisk/ccache |
+ | |||
+ | あるいは永続的に位置を変更するには: |
||
+ | |||
+ | {{hc|1=/home/''user''/.ccache/ccache.conf| |
||
+ | 2=cache_dir = /ramdisk/ccache}} |
||
+ | |||
+ | === 最大キャッシュ容量の設定 === |
||
+ | デフォルトでは5ギガバイトとなっていますが、多くしたり少なくしたりすることができます: |
||
+ | |||
+ | $ ccache --set-config=max_size=2.0G |
||
+ | |||
+ | もしくは: |
||
+ | |||
+ | {{hc|1=$HOME/.ccache/ccache.conf| |
||
+ | 2=max_size = 2.0G}} |
||
+ | |||
+ | === 環境変数でキャッシュを無効化 === |
||
+ | |||
+ | 現在のシェルでのみ CCache を無効化したい場合、以下を設定: |
||
+ | $ export CCACHE_DISABLE=1 |
||
=== CLI === |
=== CLI === |
||
59行目: | 90行目: | ||
キャッシュを完全に削除する: |
キャッシュを完全に削除する: |
||
$ ccache -C |
$ ccache -C |
||
+ | |||
+ | === makechrootpkg === |
||
+ | makechrootpkg で ccache を使うこともできます。makechrootpkg の {{ic|-d}} オプションを使うことで通常の環境から chroot にキャッシュディレクトリをバインドすることが可能です: |
||
+ | $ mkdir /path/of/chroot/ccache |
||
+ | $ makechrootpkg -d /path/to/cache/:/ccache -r /path/of/chroot -- CCACHE_DIR=/ccache |
||
+ | 上記で説明しているように chroot でも ccache が使われるように設定してください。 |
||
== 参照 == |
== 参照 == |
||
− | *[http://ccache.samba.org/ ccache ホームページ] |
||
*[http://ccache.samba.org/manual.html ccache マニュアル] |
*[http://ccache.samba.org/manual.html ccache マニュアル] |
2018年6月4日 (月) 23:08時点における版
gcc
のための素敵なツール、それが 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
あるいは永続的に位置を変更するには:
/home/user/.ccache/ccache.conf
cache_dir = /ramdisk/ccache
最大キャッシュ容量の設定
デフォルトでは5ギガバイトとなっていますが、多くしたり少なくしたりすることができます:
$ ccache --set-config=max_size=2.0G
もしくは:
$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 が使われるように設定してください。