在我的公司,我们仍在使用 Visual Studio 2005,但正在研究 Visual Studio 2010,希望它能加快我们开发周期的某些部分。目前,我们最感兴趣的是 Visual Studio 2010 的 C++ 链接器的性能。在构建应用程序时,我们会考虑 40 秒到 2 分钟之间的链接时间,具体取决于机器配置(SSD 与 HDD)以及是否东西已经在 Windows 的磁盘缓存中了。我们使用 VS2010 链接器代替 VS2005 链接器进行的简单测试显示性能提高了约 25%。我们希望看到更大的改进,因为我们认为链接器现在能够利用多个内核。
这 25% 真的是我们在切换到 VS2010 时应该期望的改进吗?还是有一些神奇的链接器开关可以将链接时间减少到可接受的水平?
我的理解是,MS 对 VS2010 中的链接器所做的重大更改(性能方面)是编写 .pdb 文件是在单独的线程上完成的。当然,由于链接器的作用远不止于此,因此它对总体链接时间的改进是有限的:
-
链接器吞吐量 http://blogs.msdn.com/b/vcblog/archive/2009/09/10/linker-throughput.aspx
如果您对此分析感兴趣,这里有一篇文章展示了如何获得一些更详细的计时统计信息:
-
VC++ 提示:使用 MSBuild、编译器和链接器获取详细的构建吞吐量诊断 http://blogs.msdn.com/b/vcblog/archive/2010/04/01/vc-tip-get-detailed-build-throughput-diagnostics-using-msbuild-compiler-and-linker.aspx
不管怎样,通过添加一套新工具就能将速度提高 25%,这对我来说似乎是一个相当不错的结果。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)