适用于大型项目的Visual Studio 2010 C ++链接器性能

时间:2010-08-18 13:58:16

标签: c++ performance visual-studio-2010 linker

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

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

2 个答案:

答案 0 :(得分:6)

我的理解是,MS在VS2010中对链接器所做的重大改进(性能明智)是编写.pdb文件是在一个单独的线程上完成的。当然,由于链接器的功能远不止这些,因此它可以改善整体链接时间的限制:

这是一篇文章,展示如果您对该分析感兴趣,如何获得更详细的时间统计数据:

无论如何,通过放入一套新的工具来提高速度25%对我来说似乎是个不错的结果。

答案 1 :(得分:3)

减少25%的时间也不错。如果您想要更快的链接时间,请尝试使用DLL进行动态链接,而不是使用静态库进行链接。这通常会更快。