我正在一个buildbot上编译两个C++项目,每次提交都要编译。这两个项目分别有约1000个文件,一个有100 kloc,另一个有170 kloc。从gcc(4.4)到Visual C++(2008),编译时间差异很大。
对于其中一个项目的Visual C++编译需要20分钟。由于一个项目依赖于另一个项目,因此无法利用多个核心。最终,在Debug和Release,32位和64位下,两个项目的全部8个版本都要花费超过2个半小时来完成编译。
而对于其中一个项目的gcc编译只需要4分钟。它可以在4个核心上并行处理,并且大约需要1分10秒的时间。四个版本(Debug/Release,32/64位)的两个项目的所有8个构建都可以在不到10分钟内编译完成。
Visual C++编译时间为什么会这么慢?它们的速度基本上是慢了5倍。
在编译C++ kloc时可以期望的平均时间是多少?我的vc++为7 s/kloc,而gcc为1.4 s/kloc。
在Visual C++上,有什么方法可以加快编译时间吗?