Criando uma máquina rápida do Visual Studio

27

Eu quero construir um PC para executar o Visual Studio muito rapidamente. Eu tenho cerca de 30 projetos C # que incluem serviços WCF, serviços da Web IIS. Então, para mim, significa rapidamente editar, compilar, executar e depurar ciclos.

Como devo equilibrar meu investimento em tecnologia, memória e energia da CPU ao construir uma máquina para os meus propósitos?

    
por Phillip Ngan 22.09.2009 / 06:57

3 respostas

19

Nossa equipe de desenvolvimento usa hardware REALMENTE rápido ... US $ 6.000 + por Dev Machine em janeiro de 2010.

A maior diferença que qualquer componente fez para nós (testamos uma coisa por vez) foi adicionar E / S realmente rápida e colocar todo o nosso código-fonte naquele hardware. Nós passamos por cerca de 10 configurações diferentes (vários RAIDs com VRaptors, SSDs, Etc ...) e o melhor item que criamos foi o drive IOXtreme da Fusion IO.

link

Você precisará de muita memória RAM, pois o driver "bloqueia" a RAM em quantidades maiores quanto menor o tamanho do bloco formatado na unidade.

Esses bad boys não são voláteis e SUPER são rápidos em ambas as leituras e gravações aleatórias. Pelo dinheiro, não conseguimos que nossas plataformas compilassem mais rápido.

Vou marcar uma compilação rápida para você ter uma ideia ...

OK, nossa solução Master com código ALL tem atualmente 37 projetos e um total de 92.281 linhas de código "executável" de acordo com os Resultados de métricas de código do Visual Studio. Para compilá-lo com as configurações do desenvolvedor DEFAULT C # no IDE (apenas recarregue todas as configurações para que você possa comparar objetivamente com os padrões, se quiser) leva 22 segundos. Em uma máquina idêntica com 3 Velociraptors no RAID 5 leva 29 segundos, portanto, um aumento de 24%.

Esse teste foi executado com CLEAN SOLUTION seguido de REBUILD SOLUTION, então deveria ter sido uma compilação completa.

Eu não sei sobre todos vocês, mas eu compilo freqüentemente depois de pequenas e médias mudanças. Provavelmente, em média 80-100 vezes por dia. Isso significa que APENAS a unidade IOXtreme está me salvando 9,3 minutos por dia. Por US $ 70 por hora (nossa taxa média de desenvolvimento, aproximadamente) é de US $ 10 por dia, por desenvolvedor. Então, a coisa leva cerca de 90 dias para se pagar. Não é ruim realmente ... eles estão livres neste momento.

Além disso, eu REALMENTE sinto strongmente que os tempos de compilação nunca devem exceder o limiar de um desenvolvedor para a distração. Me faça esperar 2 minutos ... Em Wiki ou no Google ou Youtube perdendo tempo. Isso é muito mais difícil de medir.

OK, então todas as plataformas se parecem com isso:

Windows 7 Professional 12 GB de RAM 2x Quad Core Xeons (E5504) a 2.00 GHz. 8 GHz total por máquina. Controladores RAID Highpoint 2320 Servidor Mobo (eu esqueço o modelo, desculpe) 3x Velociraptors no RAID 5, particionados em drives C, D e E. Windows em C, programas em D, pastas de dados do usuário em E. IO Xtreme Drive como Drive F. Todo o código (nosso e de terceiros DLLs) está na unidade F.

Boa sorte para todos vocês!

    
por 04.06.2010 / 16:22
17

Há uma pergunta semelhante aqui: Quais componentes do PC causam o maior impacto nos tempos de compilação do Visual Studio .

O maior gargalo será a unidade de disco ao fazer construções no Visual Studio. A partir do Visual Studio 2008, você também pode aproveitar vários processadores ou vários núcleos durante suas construções. Se fosse eu, eu iria com o seguinte:

  • Plataforma Core I7
  • 6+ GB de RAM
  • Windows 7 de 64 bits (é mais rápido que o Vista )
  • Uma unidade de estado sólido rápida
  • Nenhum software antivírus ativo em execução durante a sua compilação!

Leitura adicional:

por 22.09.2009 / 07:47
3

Eu uso um ramdrive, de Dataram . O Visual Studio não usa todos os meus núcleos de PC (8 Core), então o que fiz foi formatar o ramdrive com o NTFS e ativar a Compactação. A fonte codificada tem alta taxa de compactação, de modo que uma ramificação de 2 GB fornece pelo menos 4 GB de armazenamento. Você também pode ativar o salvamento automático de ramdrive! Esse método oferece o IO mais rápido, ainda mais rápido que o SSD. No entanto, você notará que quando o IO não é o gargalo, o VS é muito ruim ao usar vários núcleos.

    
por 12.05.2011 / 12:38