【发布时间】:2010-10-29 15:10:42
【问题描述】:
有什么方法可以优化 MS Visual Studio C++ (2005) 中的链接时间?我们使用 Xoreax Incredibuild 来加速编译,但没有链接。
目前每个链接大约需要 30 秒。当我打开增量链接时,大约需要 35-40 秒。 (无论我是否使用 incredibuild 编译项目)
有什么办法,如何分析链接器并观察需要多长时间?或者任何并行链接的工具?或者任何代码优化技巧以加速链接器?
感谢回复 卢德克伏迪加
编辑:
感谢您的第一次回复和其他信息:
- 整个程序优化和链接时代码生成已关闭。
- 尽可能使用 PIMPL 成语
- 其他静态库已通过#pragma comment(lib, "pathToLib") 包含在内。 (也因为更容易维护]
- 硬件:四核 q6600,8GB 内存,3x WD raptor raid 0。Windows Vista 64 位
【问题讨论】:
-
30 秒对我来说听起来并不多。如果您进行明智的开发,您多久执行一次编译/链接周期?如果你速度很快,也许每 10-30 分钟一次。如果你必须在那里等待 30 秒真的很重要吗?
-
并行编译阶段需要多长时间?您通常一次构建多少个目标?如果编译阶段需要 10 秒,而您只构建了一个目标,那么我对您的情况没有太多同情。 :)
-
在开发新功能时,如您所说,我们每 10-20 分钟编译一次,但在搜索和修复错误时,可能是每分钟一次;-( 整个项目编译大约需要 2 分钟并构建一个target. 当只编译一个改变的文件时,fil编译大约需要3秒,链接大约35秒;-(
-
(编译运行在 3 个 14 个 cpu 核心的 comps 上)
-
你可以在这个线程中阅读我的帖子。 stackoverflow.com/questions/143808/…
标签: c++ linker visual-c++