3

我一直在努力改善我的产品的构建时间。我们正在使用持续集成,我们的构建现在需要 2 小时才能运行。

我查看了 NANT 时序,发现很多地方都比应有的速度慢,但其中一个跳出来的是我们的 Visual C++ 项目的 x64 版本。这是与相同代码的 x86 构建相比的时间示例:

发布 Win32:8' 49" 发布 x64:41' 8"

x64 大约慢 5 倍。同样,这是针对完全相同的代码。

有没有其他人经历过 x86 和 x64 之间的这种构建时间差异?有什么缩小差距的建议吗?

注意:我知道可以提高整体构建性能的工具,例如 Xoreax 分布式构建和 TeamCity 并发构建,我也将研究这两者,但我不禁觉得应该有一些方法可以得到x64 无需借助第三方工具即可重新构建。

4

2 回答 2

2

检查两者的项目构建设置是否相同。当您选择 x64 时,VS 基本上会加载新的项目设置,它们可能会有很大的不同。例如检查是否在 x64 中启用了增量构建。

于 2009-10-30T21:20:18.513 回答
0

我不知道,但如果整个代码生成器是为 x64 重写的,我不会感到惊讶。如果您进行测试构建并使用进程资源管理器查看编译器引入的 DLL,您将能够查看编译器在为两个不同的目标构建时是否使用完全不同的二进制文件。您可能会发现 x64 后端是托管的 .NET 应用程序,而 x86 后端是老派原生应用程序。只是一个猜测。可能不是真的。您可以在进程资源管理器运行时调查两者的 CPU/磁盘/RAM 使用情况。

于 2009-10-30T23:17:59.163 回答