Build Cache (Build Avoidance)
Build Cache 用内置缓存选项缩短构建时间。通过该选项,您可以只重建已修改的对象,不必重建整个代码库。在首次构建执行过程中填充缓存后,性能提升的效果会从第二次执行开始显现。因此,此功能对单次使用的虚拟机无用。
如需使用构建缓存,您可以在运行各构建时使用命令行开关,查看缓存中是否有任何可用项,并将正在运行的构建保存到缓存中,以便未来使用。使用构建缓存需要额外的存储空间,分配在缓存对应的 Initiator 机器上。建议您分配相当于项目输出文件夹大小两倍或更多内存。
您可以定义缓存是否可以在 Initiator 机器上的所有用户之间(“共享”)、定义用户组(“组”)或当前用户(“用户”)之间共享。用户组是在您的操作系统上进行定义。无论何时使用 group 选项,均必须指定目标组(例如 group='devteam1')。
在所有情况下,缓存只能在单个 Incredibuild Initiator 机器上使用。
配置 Build Cache Settings
Initiator 上可使用以下命令:
-
设置构建缓存大小。缓存大小默认为 100 GB,不过您可以修改数值:
/opt/incredibuild/management/build_avoid_cache.sh <user|shared|group='groupname'> set_size <size in GB>
-
返回有关构建缓存位置和大小的信息:
/opt/incredibuild/management/build_avoid_cache.sh <user|shared|group='groupname'> info
-
清除构建缓存:
/opt/incredibuild/management/build_avoid_cache.sh <user|shared|group='groupname'> clear
利用 Build Cache 运行 Builds
运行构建时,添加以下命令行开关,使用构建缓存。--avoid 命令默认关闭。使用时,这些命令仅适用于当前构建。
-
--avoid-user 会为当前用户激活构建缓存。
-
--avoid-shared 会为在此 Initiator 上使用的每个用户激活构建缓存。
-
--avoid-group="groupname" 会为指定组中的所有用户激活构建缓存。
-
--avoid-basedir=<path> 定义项目的基本目录。此信息允许 Incredibuild 使用通过不同路径激活的构建的缓存。
例如:
ib_console --avoid-shared --avoid-basedir=/home/myuser/opencv/sources make -j 40