Réponses:
Scott Gu a également publié un article sur ce qui affecte la vitesse de construction, en indiquant principalement: I / O des ressources telles que le disque dur.
Le facteur que j'ai trouvé fait la différence n'est pas un facteur physique, mais un facteur logiciel: quel anti-virus avez-vous installé?
Certains produits antivirus ne gèrent pas très bien le développement de logiciels: ils voient tous ces fichiers d’application en train d’être réécrits, soupçonnent un jeu déloyal et analysent chaque fichier à chaque fois.
(Voir https://stackoverflow.com/questions/1170078/is-it-usual-for-aspx-files-to-take-5-10-seconds-to-save/1170129#1170129 pour plus.)
D'autre part, si vous souhaitez améliorer les performances d'une machine existante, rien ne vaut la mémoire maximale disponible pour un gain rapide.
Voici quelques belles recherches Scott Hanselman explique comment utiliser plusieurs processeurs pour MSBUild. Les accélérations sont assez dramatiques.
Edit: Je dois cependant noter que pour avoir une bonne expérience de Visual Studio, vous avez besoin de beaucoup de RAM. :)
Mon expérience personnelle avec une base de code C ++ de taille moyenne:
Processeur: Pentium 4 HT 3.06 GHz
Mémoire: 1 Go de RAM DDR (PC 2100, donc 333 MHz)
Disque: Disque dur à 7 200 tr / min (UDMA 100, si la mémoire le permet)
Temps de compilation: 50 minutes
Processeur: Core i7 720QM (8 processeurs logiques) à 1,6 GHz, turbo boost à 1,73 GHz lorsque tous les cœurs sont actifs
Mémoire: 8 Go de RAM DDR3 à 1066 MHz
Disque: Disque dur à 7 200 tr / min (SATA 2)
Temps de compilation: 4 minutes (avec / MP )
Conclusion: Plus il y a de processeurs, plus on est de fous, même à des vitesses d'horloge relativement basses. Un SSD améliorerait encore les temps, mais d'après l'observation des messages de compilation, je doute que cela puisse l'améliorer de plus de 30 secondes environ.
Autant que je me souvienne, principalement processeur et mémoire. Un rapide Google a révélé divers ajustements qui peuvent améliorer les temps de compilation.
Joel a récemment publié un article sur l'effet des disques à l'état solide sur les compilations ici . La vitesse du disque n'améliore généralement pas considérablement le temps de compilation. Cependant selon ce il a un effet comme souligné par Lyngbym .
Pour construire des programmes C ++, le facteur n ° 1 avant tout est structurel: si le code source est fortement structuré verticalement, cela aura un impact dévastateur sur les temps de construction, en particulier les versions incrémentielles. J'ai restructuré localement quelques parties d'un projet visant à améliorer considérablement un Xeon à quatre cœurs. Dix-huit mois plus tard, les propriétaires du projet ne peuvent toujours pas respecter les temps de construction de mon horloge murale, même sur des machines Core i7.
L'effet (positif ou négatif) de la disposition de votre logiciel se multiplie sur tous les membres de votre équipe et sur chaque construction qu'ils réalisent.
Xoreax IncrediBuild est un système de build distribué qui a fait une énorme amélioration sur les temps de compilation où je travaille. (Malheureusement, les temps de lien sont encore longs, en particulier les versions qui utilisent l'optimisation du programme entier et la génération de code temps-lien, mais il faut s'y attendre.)