Construindo uma máquina rápida do Visual Studio

28

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 web IIS. Então, para mim, rapidamente significa editar rapidamente, compilar, executar e depurar ciclos.

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

Phillip Ngan
fonte

Respostas:

19

Nossa equipe de desenvolvedores usa hardware REALMENTE rápido ... US $ 6.000 ou mais por máquina de desenvolvimento a partir de janeiro de 2010.

A MAIOR diferença que qualquer componente feito para nós (testamos uma coisa de cada vez) foi adicionar E / S muito rápidas e colocar todo o nosso código-fonte nesse hardware. Passamos por cerca de 10 configurações diferentes (vários RAIDs com VRaptors, SSDs, Etc ...) e o melhor item que encontramos foi o drive IOXtreme do Fusion IO.

http://www.fusionio.com/products/ioxtreme/

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

Esses meninos maus são não voláteis e SUPER rápidos nas leituras e gravações aleatórias. Pelo dinheiro, não conseguimos que nossas plataformas compilassem mais rápido.

Vou preparar uma compilação bem rápido para lhe dar uma idéia ...

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

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

Não conheço todos vocês, mas compilo frequentemente após pequenas e médias alterações. Provavelmente em média 80-100 vezes por dia. Isso significa que APENAS a unidade IOXtreme está me economizando 9,3 minutos por dia. A US $ 70 por hora (nossa taxa média de desenvolvedores, aproximadamente), ou seja, US $ 10 por dia, por desenvolvedor. Portanto, a coisa leva cerca de 90 dias para se pagar. Nada mal, na verdade ... eles são gratuitos neste momento.

Além disso, realmente sinto que os tempos de compilação nunca devem subir acima do limiar de distração de um desenvolvedor. Faça-me esperar 2 minutos ... Entre no Wiki ou no Google ou no Youtube, perdendo tempo. Isso é muito mais difícil de medir.

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

Windows 7 Professional 12 GB de RAM, 2x Quad Core Xeons (E5504) a 2,00 GHz. Total de 8 GHz por máquina. Controladores RAID Highpoint 2320 Server Mobo (lamento o modelo, desculpe) 3x Velociraptores no RAID 5, divididos em unidades C, D e E. Windows em C, programas em D, pastas Dados do Usuário na E. IO Xtreme Drive como Unidade F. Todo o código (DLLs nosso e de terceiros) está na Unidade F.

Boa sorte a todos!

Eric Burcham
fonte
Ótimo ... o link para essa linha de produtos agora está quebrado ... as empresas de tecnologia não entendem como a Web funciona!
microfone Nelson
1
Como isso mudou nos últimos 6 anos? Algum novo produto que você recomendaria? Estou assumindo que o preço caiu significativamente agora.
Twilly 28/10
A máquina custa US $ 6.000 e economiza US $ 10 por dia. Como você chega ao período de recuperação de 90 dias?
mga911
2
+1 no comentário sobre o "limite de distração" - a perda de produtividade pode resultar em um custo inesperado enorme quando os tempos de compilação ficam mais lentos.
precisa saber é o seguinte
17

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

O maior gargalo será a unidade de disco ao criar compilações no Visual Studio. No Visual Studio 2008, você também pode tirar proveito de vários processadores ou múltiplos núcleos durante suas compilaçõ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 sendo executado durante a sua compilação!

Leitura adicional:

vaqueiro
fonte
+1 para uma resposta clara, mas não aceite i7, aceite as novas!
Ivo Flipse 22/09/09
E quanto a várias unidades - uma para o sistema operacional, uma para 'Arquivos de Programas', uma para 'compilação'? O SSD ainda superaria isso?
precisa saber é o seguinte
@JBRWilkinson Sim, o SSD é a unidade mais rápida do mercado, desde que você obtenha o tipo certo.
deus vaca
3

Eu uso um ramdrive, da Dataram . O Visual Studio não usa todos os núcleos do meu PC (8 núcleos), então o que fiz foi formatar o ramdrive com NTFS e ativar a compactação. O código de origem possui uma alta taxa de compactação, portanto, um ramdrive de 2 GB fornece pelo menos 4 GB de armazenamento. Você também pode ativar o salvamento automático do ramdrive! Esse método fornece 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 fraco no uso de vários núcleos.

Amir Rezaei
fonte
Isso realmente faz um resultado tão bom?
Anirudha Gupta
1
Eu testei e não podia medir qualquer diferença relevante para um SSD
thumbmunkeys
@ thumbmunkeys Eu uso o primocache e ele salva o disco quando eu desligo o PC. Tudo Read Write feito na RAM.
Anirudha Gupta
@GuptaAnirudha é mais rápido que um SSD?
thumbmunkeys
1
Meu estúdio visual trabalha mais rápido do que antes. A primeira leitura é feita no disco, portanto não é rápido na primeira vez, mas se você executar o mesmo projeto nas últimas 5-6 horas, poderá ver a diferença.
Anirudha Gupta