【问题标题】:IncrediBuild increases linking time significantlyIncrediBuild 显着增加了链接时间
【发布时间】:2017-12-21 10:54:49
【问题描述】:

我有一个项目并使用 VS 和 IncrediBuild 进行了 3 次干净的构建

IncrediBuild 的设置:2 台机器同时编译,两台机器的性能大致相同

  1. VS 编译器

    • 编译时间:~10 分钟
    • 链接:~3-4 分钟
  2. IncrediBuild

    • 编译时间:~4-5 分钟(=> 符合预期,大约一半时间)
    • 链接:~10 分钟(=> 意外,应该是大约同一时间)

这可以在几个构建中重现(我做了 3 个干净的构建)。我知道,IncrediBuild 无法并行化一个项目的链接,但为什么与 VS 链接相比,使用 IncrediBuild 链接速度较慢?

我的测试表明,我使用 IncrediBuild 没有任何好处,我正在考虑使用几台机器来构建我的项目以提高构建速度,但如果链接速度那么慢(而且慢得多),甚至使用 10 台机器对我没有好处,也不值得花钱,因为链接时间正在破坏我从改进编译时间中获得的任何好处。

我在一家大公司工作,购买 CPU 电源很便宜而且没问题,但 IncrediBuild 也需要花钱,目前不值得。任何想法我可以尝试或我可能做错了什么?我刚刚安装了 IncrediBuild 并使用默认设置。

设置

  • Visual Studio 2017
  • Windows 10 机器(代理)和 Windows 7 机器(协调器)
  • 1GBit商业网络
  • IncrediBuild 9.0.1

【问题讨论】:

  • 也许你启用了链接时间优化?
  • 我启用了增量链接,但没有优化(没有 \LTCG 或类似的)
  • 在这个答案stackoverflow.com/questions/3349521/what-is-incremental-linking 中,据说增量链接会增加链接时间。也许 incredibuild 不执行增量链接,这可以解释 MSVC 具有更好的链接时间。
  • 这 (incredibuild.com/webhelp/#advanced_incredilink.html) 说,您可以在 2008 年之前为 VS 启用此功能,所以假设它适用于较新的版本?虽然找不到明确说明...
  • 我对 incredibuild 一无所知,但它是写在“VS 2008 及更早版本”的。我不能说我也知道 MSVC。您提到增量链接的事实(我第一次听说这个)可能表明您实际上不知不觉地知道了答案。

标签: c++ visual-studio visual-studio-2017 incredibuild


【解决方案1】:

在使用 IncrediBuild 时,您不应期望链接时间会出现这种差异。

我建议尝试以下方法:

  1. 确保您使用的是 Visual Studio 2017 /Debug:FASTLINK 选项。

  2. 如果上述方法没有帮助,请查看限制 IncrediBuild 使用的 PDB 文件数量是否有帮助。右键单击 IncrediBuild 托盘图标 -> 代理设置 -> Visual Studio 构建 -> 高级,并将“限制并发 PDB 文件实例”设置为 12 或以下。

  3. 尝试暂时禁用您计算机上安装的所有防病毒软件。

如果这些提示没有帮助,我们非常感谢您可以通过 support@incredibuild.com 与我们联系,以便我们了解您的环境中的问题并为社区发布解决方案。

免责声明,IncrediBuild 的写作作品。

【讨论】:

    猜你喜欢
    • 2021-06-06
    • 1970-01-01
    • 2012-09-02
    • 2020-07-03
    • 2013-09-29
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    • 2012-09-03
    相关资源
    最近更新 更多