Build Avoidance

Build Avoidance利用内置缓存选项缩短构建时间。通过该选项,您可以只重建已修改的对象,不必重建整个代码库。在首次构建执行过程中填充缓存后,性能提升的效果会从第二次执行开始显现。因此,此功能对单次使用的虚拟机无用。

要使用构建避免,您可以在运行各构建时使用命令行开关,查看缓存中是否有任何可用项,并将正在运行的构建保存到缓存中,以便未来使用。使用构建避免需要额外的存储空间,分配在缓存对应的 Initiator 机器上。默认分配 15 GB,不过您可以根据需要修改数值。建议您分配相当于项目输出文件夹大小两倍或更多内存。

您可以定义缓存是否由多名用户共享 ("shared"),或仅供一名用户使用 ("user")。在这两种情况下,缓存只能在单个 Incredibuild Initiator 机器上使用。

配置构建避免设置

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> 定义项目的基本目录。此信息允许 Incredibuild 使用通过不同路径激活的构建的缓存。

例如:

ib_console --avoid-shared --avoid-basedir=/home/myuser/opencv/sources make -j 40