什么是Windows平台上最快的C ++链接器?

时间:2010-08-19 06:36:37

标签: c++ windows linker

显然,Visual Studio 2010中C ++链接器的速度没有那么大提高(在我们的例子中大约为25%)。这意味着我们仍然处于30秒到2分钟之间的连接时间。当然有那些连接器表现更好吗?有没有人有切换到另一个链接器甚至是完整工具集的经验,并且看到链接时间大幅下降?

干杯,

Sebastiaan

6 个答案:

答案 0 :(得分:8)

你可能会找到一个更快的链接器,但是,除非它的速度快十倍并且我每小时链接三十次,我想我更愿意使用微软测试过的工具。

我希望链接时间比可能不稳定的软件慢。

现在,你的孩子们被宠坏了。在我的日子里,我们不得不将我们的80列卡片提交给计算机中心,如果我们幸运,操作员将在下周四输入它,我们可以从硬拷贝输出开始调试: - )

答案 1 :(得分:5)

当我们检查链接器速度时,我们已将磁盘速度确定为最受限制的因素。文件流量很大,特别是因为调试信息(只需检查pdb的大小)。

对我们来说,解决方案是:

  • 安装疯狂的RAM,以便可以缓存大量文件流量(如果您使用的是64b操作系统,则需要4 GB,甚至更多)。注意:您可能需要更改某些系统设置,以便系统能够为缓存专用更多内存
  • 使用非常快的硬盘驱动器(连接多个硬盘驱动器可能会有更多帮助)

我们也尝试过SSD,但我们尝试过的SSD写入性能非常慢,因此净效果为负。这可能同时发生了变化,尤其是最好的SSD。

作为第一步,我建议启动Process Explorer(甚至任务管理器会这样做)并在链接阶段检查你的CPU负载和I / O流量,以便你可以验证你是CPU限制的,还是我/ O有限。

答案 2 :(得分:4)

可能会有,但我想你会在几个百分点的范围内谈论改进。你不太可能找到任何更快的数据(我认为,你喜欢的是什么)。

但是,有一些方法可以改善您的链接时间。你有什么选择? “启用增量链接”和“启用功能级链接”等功能可以对链接性能产生显着影响(很明显,第一次链接它时,它将是一个“完整”链接,但后续链接可以更快地完成这些设置)。

答案 3 :(得分:2)

当我的链接时间超过10秒时,我感到紧张。

使用现代风格的SSD磁盘。我有2x 60 GB OCZ Vertex2 E磁盘作为RAID 0和IO不再是问题。 SSD现在已经足够用于日常使用,即使是大量写入。

获得几GB的内存。看不出有任何理由可以使用低于8 GB的RAM。

答案 4 :(得分:1)

查看“Unity”版本。这大大缩短了链接时间:

The benefits / disadvantages of unity builds?

答案 5 :(得分:1)

启用增量链接,链接不应超过1秒。