Comment améliorer Visual C++ temps de compilation?

Je compile les 2 projets C++ dans un buildbot, sur chaque commit. Les deux sont autour de 1000 fichiers, l'un est de 100 kloc, l'autre de 170 kloc. Les temps de Compilation sont très différents de gcc (4.4) dans Visual C++ (2008).

Visual C++ compilations pour un projet de prendre dans les 20 minutes. Ils ne peuvent pas tirer parti des processeurs multi-cœurs, car un projet dépend de l'autre. En fin de compte, une compilation complète des deux projets en Debug et Release, en 32 et 64 bits prend plus de 2 heures 1/2.

gcc compilations pour un projet de prendre dans les 4 minutes. Il peut être parallélisé sur les 4 cœurs et dure environ 1 min 10 sec. Tous les 8 versions pour 4 versions (Debug/Release, 32/64 bits) des 2 projets sont compilés en moins de 10 minutes.

Ce qui se passe avec Visual C++ temps de compilation? Ils sont pratiquement 5 fois plus lente.

Quel est le temps moyen qui peut être prévu pour compiler en C++ kloc? Les miennes sont de 7 s/kloc avec vc++ et 1.4 s/kloc avec gcc.

Quelque chose peut être fait pour accélérer les temps de compilation sur Visual C++?

  • Le disque est seulement 1/3. Je doute que la fragmentation et la DLL copies peuvent couper les temps de compilation par 5! À peine 10 % peut-être, mais pas plus.
  • Merci pour les points... Mais juste curieux... c'était les instanciations dans les fichiers d'en-tête qui était le problème, ou l'une des autres choses que j'ai citées?
  • Quelque chose qui nous a fait une énorme quantité était de déplacer toutes les temporaires, intermédiaire et de pch des fichiers sur un disque ram, mais encore jamais aussi vite que GCC en dépit de la boîte de Windows disques ssd et la boîte linux ayant hds. Nous avons été la compilation sur un Dual Xeon E5440, et j'ai trouvé "font -j33" a donné radicalement mieux les temps de compilation que l' "-j9" que les gens recommandé (j'ai couru un simple script de référence de tous les j de réglage de 0 à 99 ans)