Nous sommes très lent temps de compilation, ce qui peut prendre plus de 20 minutes sur les dual core 2 ghz, 2G de Ram des machines.
Beaucoup de cela est dû à la taille de notre solution qui a augmenté de plus de 70 projets, ainsi que VSS qui est un goulot de bouteille en elle-même lorsque vous avez beaucoup de fichiers. (changeant de VSS n'est pas une option, malheureusement, donc je ne veux pas de cela pour descendre dans un VSS bash)
Nous sommes à la recherche à la fusion des projets (pas très agréable, comme on les aime à la séparation des préoccupations, mais c'est une bonne occasion de revoir certains de bois mort).
Nous sommes également à la recherche d'avoir de multiples solutions pour parvenir à une plus grande séparation des préoccupations et plus rapide temps de compilation pour chaque élément de l'application. Ce que je peux voir, va devenir l'enfer des dll que nous essayons de garder les choses dans synch.
Je suis intéressé de savoir comment les autres équipes ont abordé ce problème d'évolutivité, que faites-vous quand votre code de base atteint une masse critique que vous perdez la moitié de la journée à regarder la barre d'état de livrer les messages de compilation
Mise à JOUR Toutes mes excuses, j'ai oublié de mentionné que c'est une solution C#. Merci à tous pour le rpc suggestions, mais il a été quelques années depuis que je ai eu à se soucier d'en-têtes. A distance, je dis que je miss C++, mais je ne suis pas sûr que je veux revenir en arrière
EDIT:
Nice suggestions qui ont aidé à ce jour (ne pas qu'il n'y a pas d'autres excellentes suggestions ci-dessous, tout ce qui a aidé)
- Nouvelle 3 ghz ordinateur portable - le pouvoir de la perte de l'utilisation des œuvres des merveilles quand whinging de gestion
- Désactiver l'Anti Virus lors de la compilation
- La "déconnexion" de VSS (en fait le réseau) lors de la compilation j'ai peut nous amener à supprimer VS-intégration de VSS complètement et de se tenir à l'utilisation de la VSS de l'INTERFACE utilisateur
Toujours pas de rip-renifler par le biais de la compilation, mais chaque petit geste compte.
Orion a mentionné dans un commentaire que les génériques peuvent avoir un jeu aussi. De mes tests, il ne semble pas y avoir un minimum de performances, mais pas assez élevée pour assurer - les temps de compilation peut être irrégulière en raison du disque de l'activité. En raison de contraintes de temps, mes tests ne comprend pas que de nombreux Génériques, ou plus de code, comme il apparaît dans le système live, donc, qui peuvent s'accumuler. Je ne voudrais pas éviter l'utilisation de génériques où ils sont censés être utilisé, juste pour le moment de la compilation de la performance
Solution de CONTOURNEMENT
Nous testons la pratique de la construction de nouvelles zones de l'application de nouvelles solutions, de l'importation dans le dernier dll requis, eux, leur intégration dans la plus grande solution quand nous sommes heureux avec eux.
Nous pouvons également faire de même pour le code existant par la création de solutions temporaires qui vient d'encapsuler les domaines nous devons travailler sur, et de les jeter après la réintégration du code. Nous avons besoin de peser le temps qu'il faudra pour réintégrer le présent code contre le temps de nous gagner à ne pas avoir de Rip Van Winkle, comme des expériences avec rapide recompiler au cours du développement.