コミットごとに、buildbot で 2 つの C++ プロジェクトをコンパイルしています。どちらも約 1000 ファイルで、1 つは 100 kloc、もう 1 つは 170 kloc です。コンパイル時間は、gcc (4.4) と Visual C++ (2008) では大きく異なります。
1 つのプロジェクトの Visual C++ コンパイルには 20 分かかります。プロジェクトは他のプロジェクトに依存しているため、複数のコアを利用することはできません。最終的に、32 ビットと 64 ビットで、デバッグとリリースの両方のプロジェクトを完全にコンパイルするには、2 時間半以上かかります。
1 つのプロジェクトの gcc コンパイルには 4 分かかります。4 コアで並列化でき、約 1 分 10 秒かかります。2 つのプロジェクトの 4 つのバージョン (デバッグ/リリース、32/64 ビット) の 8 つのビルドはすべて、10 分未満でコンパイルされます。
Visual C++ のコンパイル時間はどうなっていますか? それらは基本的に5倍遅いです。
C++ kloc のコンパイルに予想される平均時間は? 私のものは、vc++ で 7 s/kloc、gcc で 1.4 s/kloc です。
Visual C++ でコンパイル時間を短縮するためにできることはありますか?