每次提交时,我都在 buildbot 中编译 2 个 C++ 项目。两者都是大约 1000 个文件,一个是 100 kloc,另一个是 170 kloc。从 gcc (4.4) 到 Visual C++ (2008) 的编译时间非常不同。
一个项目的 Visual C++ 编译需要 20 分钟。他们无法利用多个核心,因为一个项目依赖于另一个。最后,在 Debug 和 Release 中完整编译这两个项目(32 位和 64 位)需要超过 2 1/2 小时。
一个项目的 gcc 编译需要 4 分钟。它可以在 4 个内核上并行化,大约需要 1 分 10 秒。2 个项目的 4 个版本(调试/发布,32/64 位)的所有 8 个构建都在不到 10 分钟的时间内完成编译。
Visual C++ 编译时间发生了什么?它们基本上慢了 5 倍。
编译 C++ kloc 的平均预期时间是多少?我的是 7 s/kloc 和 vc++ 和 1.4 s/kloc 和 gcc。
可以做些什么来加快 Visual C++ 上的编译时间吗?