Respuestas:
Scott Gu también publicó sobre lo que afecta la velocidad de construcción, apuntando principalmente a recursos de E / S como el disco duro.
El factor que he encontrado hace la mayor diferencia no es un factor físico, sino uno de software: ¿Qué antivirus tiene instalado?
Algunos productos antivirus no manejan muy bien el desarrollo de software: ven que se reescriben todos estos archivos de aplicaciones, sospechan de errores y vuelven a analizar cada archivo cada vez.
(Consulte /programming/1170078/is-it-usual-for-aspx-files-to-take-5-10-seconds-to-save/1170129#1170129 para obtener más información).
Por otro lado, si desea mejorar el rendimiento de una máquina existente, no hay nada mejor que maximizar la memoria disponible para ganar rápidamente.
Aquí hay una buena investigación de Scott Hanselman sobre el uso de múltiples CPU para MSBUild. Las aceleraciones son bastante dramáticas.
Editar: Sin embargo, debo tener en cuenta que para tener una buena experiencia con Visual Studio, necesita mucha RAM. :)
Mi experiencia personal con una base de código C ++ de tamaño razonable:
Procesador: Pentium 4 HT 3.06 GHz
Memoria: 1 GB DDR RAM (PC 2100, entonces 333 MHz)
Disco: disco duro de 7200 RPM (UDMA 100, si la memoria sirve)
Tiempo de compilación: 50 minutos
Procesador: Core i7 720QM (8 procesadores lógicos) a 1.6 GHz, turbo boost a 1.73 GHz cuando todos los núcleos están activos
Memoria: 8 GB DDR3 RAM a 1066 MHz
Disco: disco duro 7200 RPM (SATA 2)
Tiempo de compilación: 4 minutos (con / MP )
Conclusión: cuantos más procesadores, mejor, incluso a velocidades de reloj relativamente bajas. Un SSD mejoraría aún más los tiempos, pero a partir de la observación de los mensajes de compilación, dudo que lo mejore en más de 30 segundos más o menos.
Hasta donde recuerdo, principalmente procesador y memoria. Un google rápido reveló varios ajustes que pueden mejorar los tiempos de compilación.
Joel recientemente publicó sobre el efecto de los discos de estado sólido en las compilaciones aquí . La velocidad del disco generalmente no mejora drásticamente el tiempo de compilación. Sin embargo, de acuerdo con esto , tiene un efecto como lo señala lyngbym .
Para construir programas en C ++, el factor # 1 antes que todo lo demás es estructural: si el código fuente está muy estructurado verticalmente, tendrá un impacto devastador en los tiempos de compilación, especialmente en las compilaciones incrementales. Reestructuré localmente algunas partes de un proyecto para una mejora dramática en un Xeon de cuatro núcleos. 18 meses después y ellos (las personas propietarias del proyecto) aún no pueden igualar los tiempos de construcción de mi reloj de pared, incluso en las máquinas Core i7.
El efecto (positivo o negativo) de su diseño de software se multiplica en cada miembro de su equipo y en cada compilación que realizan.
Xoreax IncrediBuild es un sistema de compilación distribuido que ha hecho una gran mejora en los tiempos de compilación donde trabajo. (Desafortunadamente, los tiempos de enlace aún son bastante largos, particularmente las versiones de lanzamiento que usan la optimización de todo el programa y la generación de código de tiempo de enlace, pero eso es de esperar).