ビルドの回避
Incredibuild では内蔵のキャッシュ機能を利用してコードベース全体ではなく、変更されたオブジェクトのみリビルドする (ビルドを回避する) ことでビルド時間を短縮することができます。初回のビルドでキャッシュが生成されるので、2 回目以降のビルドでパフォーマンスの向上を実感できるようになります。そのためシングルユース VM での利用は意味がありません。
ビルドを回避するには、ビルドを実行する際にコマンドラインにオプションを追加して、既存のキャッシュを確認し、実行中のビルドをキャッシュに保存します。このコマンドの使用に当たっては、Initiator マシン上にキャッシュ用のストレージ スペースを確保しておく必要があります。既定では 15 GB が割り当てられていますが、必要に応じてサイズを変更できます。プロジェクト出力フォルダの最低 2 倍を目安にしてください。
キャッシュは複数ユーザーで共有するか (「shared」)、単独ユーザーで使用するか (「user」) を定義することができますが、いずれの場合も、キャッシュを使用できる Initiator マシンは 1 台のみです。
ビルド回避の設定
Initiator では次のコマンドを使用できます。
-
ビルド回避のキャッシュ サイズを設定する。既定のキャッシュ サイズは 15 GB です。
/opt/incredibuild/management/build_avoid_cache.sh <user|shared> set_size <size in GB>
-
ビルド回避のキャッシュの格納場所とサイズに関する情報を返す。
/opt/incredibuild/management/build_avoid_cache.sh <user|shared> info
-
ビルド回避のキャッシュを消去する。
/opt/incredibuild/management/build_avoid_cache.sh <user|shared> clear
ビルド回避を使ったビルドの実行
ビルドを実行する際にコマンドラインに次のオプションを追加してビルドを回避します。デフォルトでは --avoid コマンドはオフに設定されています。オンにした場合は現在のビルドだけに適用されます。
-
--avoid-<user|shared>: ビルド回避を有効にします。
-
--avoid-basedir=<path>: プロジェクトのルート ディレクトリを定義します。この情報は別のパスから開始されたビルドのキャッシュを利用するのに使われます。
コマンドの例:
ib_console --avoid-shared --avoid-basedir=/home/myuser/opencv/sources make -j 40