Respostas:
Scott Gu também postou sobre o que afeta a velocidade de construção, apontando principalmente para recursos de E / S , como o disco rígido.
O fator que encontrei faz a maior diferença não é um fator físico, mas um software: qual antivírus você instalou?
Alguns produtos antivírus não lidam muito bem com o desenvolvimento de software - eles vêem todos esses arquivos de aplicativos sendo reescritos, suspeitam de erros e analisam todos os arquivos todas as vezes.
(Consulte /programming/1170078/is-it-usual-for-aspx-files-to-take-5-10-seconds-to-save/1170129#1170129 para obter mais informações.)
Por outro lado, se você deseja melhorar o desempenho de uma máquina existente, nada supera a maximização da memória disponível para uma rápida vitória.
Aqui estão algumas pesquisas interessantes de Scott Hanselman sobre o uso de várias CPUs no MSBUild. As acelerações são bastante dramáticas.
Editar: devo observar, no entanto, que, para ter uma boa experiência com o Visual Studio, você precisa de bastante RAM. :)
Minha experiência pessoal com uma base de código C ++ de tamanho justo:
Processador: Pentium 4 HT 3.06 GHz
Memória: 1 GB DDR RAM (PC 2100, portanto 333 MHz)
Disco: disco rígido de 7200 RPM (UDMA 100, se a memória servir)
Tempo de compilação: 50 minutos
Processador: Core i7 720QM (8 processadores lógicos) a 1,6 GHz, aumento turbo para 1,73 GHz quando todos os núcleos estão ativos
Memória: 8 GB DDR3 RAM a 1066 MHz
Disco: disco rígido de 7200 RPM (SATA 2)
Tempo de compilação: 4 minutos (com / MP )
Conclusão: Quanto mais processadores, melhor - mesmo a velocidades relativamente baixas. Um SSD melhoraria ainda mais os tempos, mas, a partir da observação das mensagens de compilação, duvido que o melhore em mais de 30 segundos.
Tanto quanto me lembro principalmente de processador e memória. Um rápido google revelou vários ajustes que podem melhorar os tempos de compilação.
Joel postou recentemente sobre o efeito de discos de estado sólido nas compilações aqui . A velocidade do disco geralmente não melhora drasticamente o tempo de compilação. No entanto, de acordo com isso, ele tem um efeito, como indicado pelo lyngbym .
Para a criação de programas em C ++, o fator nº 1 antes de tudo é estrutural - se o código-fonte for fortemente estruturado verticalmente, ele terá um impacto devastador nos tempos de compilação, especialmente compilações incrementais. Reestruturei localmente algumas partes de um projeto para uma melhoria dramática em um Xeon quad-core. 18 meses depois e eles (as pessoas que são donas do projeto) ainda não conseguem igualar meus tempos de construção de relógio de parede, mesmo nas máquinas Core i7.
O efeito (positivo ou negativo) do layout do software se multiplica em todos os membros da sua equipe e em todas as compilações que eles executam.
O Xoreax IncrediBuild é um sistema de compilação distribuído que fez uma grande melhoria nos tempos de compilação em que trabalho. (Infelizmente, os tempos de link ainda são bastante longos, principalmente as versões lançadas usando a otimização de todo o programa e a geração de código de tempo de link, mas isso é de se esperar.)