在我的公司中,我们仍在使用Visual Studio 2005,但在偷看Visual Studio 2010,希望它能加快开发周期的某些部分。目前,我们对Visual Studio 2010的C++链接器的性能最感兴趣。在构建应用程序时,我们会在40秒到2分钟之间查看链接时间,具体取决于计算机配置(SSD与HDD)以及是否东西已经在Windows的磁盘缓存中。一个简单的测试(使用VS2010链接器而不是VS2005链接器)显示了大约25%的改进。我们希望看到更大的改进,因为我们认为该链接器现在可以利用多个内核。

这真的是我们切换到VS2010时应该期望的25%的改进,还是有一些魔术链接器开关将链接时间减少到可接受的水平?

最佳答案

我的理解是,MS在VS2010中对链接器进行的最大更改(从性能 Angular 而言)是编写.pdb文件是在单独的线程上完成的。当然,由于链接器的作用远不止于此,因此它可以改善整体链接时间的程度是有限制的:

  • Linker throughput

  • 这是一篇文章,显示了如果您对该分析感兴趣的话,如何获得一些更详细的时序统计信息:
  • VC++ Tip: Get detailed build throughput diagnostics using MSBuild, compiler and linker

  • 无论如何,通过添加一套新工具将速度提高25%似乎对我来说是一个很好的结果。

    关于c++ - 大型项目的Visual Studio 2010 C++链接器性能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3512864/

    10-11 22:48
    查看更多