Budowanie szybkiej maszyny Visual Studio

28

Chcę zbudować komputer, aby bardzo szybko uruchomić program Visual Studio. Mam około 30 projektów w języku C #, które obejmują usługi WCF, usługi sieciowe IIS. Dla mnie szybko oznacza to szybką edycję, kompilację, uruchamianie i debugowanie cykli.

Jak powinienem zrównoważyć moją inwestycję w moc procesora, pamięć i technologię napędu, budując maszynę do moich celów?

Phillip Ngan
źródło

Odpowiedzi:

19

Nasz zespół programistów używa NAPRAWDĘ szybkiego sprzętu ... 6000 USD + na maszynę deweloperską od stycznia 2010.

NAJWIĘKSZA różnica, jaką stworzył dla nas jeden komponent (testowaliśmy jedną rzecz na raz), polegała na dodaniu naprawdę szybkiego wejścia / wyjścia i umieszczeniu całego naszego kodu źródłowego na tym sprzęcie. Przeszliśmy przez około 10 różnych konfiguracji (różne macierze RAID z VRaptorami, dyskami SSD, itp.), A najlepszym produktem, jaki wymyśliliśmy, był dysk IOXtreme firmy Fusion IO.

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

Będziesz potrzebował dużo pamięci RAM, ponieważ sterownik „blokuje” pamięć RAM w większych ilościach, im mniejszy jest twój sformatowany rozmiar bloku na dysku.

Ci źli chłopcy są nieulotni, a SUPER szybki zarówno w Losowych czytaniach, jak i pisaniach. Za te pieniądze nie mogliśmy zmusić naszych platform do szybszej kompilacji.

Naprawdę szybko skompiluję, żeby dać ci pomysł ...

OK, nasze główne rozwiązanie z WSZYSTKIM kodem ma obecnie 37 projektów i łącznie 92 281 linii „wykonywalnego” kodu zgodnie z wynikami Visual Studio Code Metrics Results. Aby skompilować go z ustawieniami programisty DEFAULT C # w IDE (wystarczy ponownie załadować wszystkie ustawienia, aby w razie potrzeby obiektywnie porównać je z ustawieniami domyślnymi), zajmie to 22 sekund. Na identycznej maszynie z 3 Velociraptorami w RAID 5 zajmuje 29 sekund, czyli o 24% więcej.

Ten test został przeprowadzony przy pomocy CLEAN SOLUTION, a następnie REBUILD SOLUTION, więc powinien być to pełny kompilator.

Nie znam was wszystkich, ale kompiluję często po małych i średnich zmianach. Prawdopodobnie średnio 80-100 razy dziennie. Oznacza to, że TYLKO napęd IOXtreme pozwala mi zaoszczędzić 9,3 minuty dziennie. 70 USD za godzinę (średnio około naszego dewelopera), czyli 10 USD dziennie na programistę. Tak więc cała sprawa się zwróci. Naprawdę nieźle ... w tym momencie są wolni.

I NAPRAWDĘ mocno czuję, że czasy kompilacji nigdy nie powinny przekroczyć progu dewelopera, aby odciągnąć uwagę. Niech zaczekam 2 minuty ... W marnowaniu czasu na Wiki, Google lub Youtube. To jest o wiele trudniejsze do zmierzenia.

OK, więc całe platformy wyglądają mniej więcej tak:

Windows 7 Professional 12 GB RAM 2x Czterordzeniowe Xeony (E5504) @ 2,00 GHz. 8 GHz ogółem na maszynę. Highpoint 2320 RAID Kontrolery Serwer Mobo (przepraszam za model, przepraszam) 3x Velociraptory w RAID 5, podzielone na dyski C, D i E. Windows na C, programy na D, foldery danych użytkownika na E. IO Xtreme Drive jako Drive F. Cały kod (nasze i zewnętrzne biblioteki DLL) znajduje się na Drive F.

Powodzenia wszystkim!

Eric Burcham
źródło
Świetnie ... link do tego asortymentu jest teraz zepsuty ... firmy technologiczne nie rozumieją, jak działa sieć!
Mike Nelson,
1
Jak to się zmieniło w ciągu ostatnich 6 lat? Jakieś nowe produkty, które poleciłbyś? Zakładam, że cena znacznie spadła.
TWilly,
Maszyna kosztuje 6000 USD i pozwala zaoszczędzić 10 USD dziennie. Jak uzyskać 90-dniowy okres zwrotu?
mga911,
2
+1 za komentarz na temat „progu rozproszenia” - obniżenie produktywności z tego może być ogromnym nieoczekiwanym kosztem, gdy czasy kompilacji stają się wolniejsze.
peterflynn
17

Istnieje podobne pytanie: które elementy komputera mają największy wpływ na czasy kompilacji programu Visual Studio .

Największym wąskim gardłem będzie napęd dyskowy podczas wykonywania kompilacji w Visual Studio. Począwszy od programu Visual Studio 2008, podczas kompilacji możesz także korzystać z wielu procesorów lub wielu rdzeni. Gdybym to był ja, wybrałbym następujące:

  • Platforma Core I7
  • 6+ GB pamięci RAM
  • Windows 7 64-bit (jest szybszy niż Vista )
  • Szybki dysk półprzewodnikowy
  • Brak aktywnego oprogramowania antywirusowego podczas kompilacji!

Dalsza lektura:

cowgod
źródło
+1 za jasną odpowiedź, ale nie bierz żadnego i7 weź nowe!
Ivo Flipse,
Co z wieloma dyskami - jeden dla O / S, jeden dla „Program Files”, jeden dla „build”? Czy SSD nadal to pokona?
JBRWilkinson
@JBRWilkinson Tak, SSD jest najszybszym dyskiem na rynku, pod warunkiem, że otrzymujesz odpowiedni rodzaj.
cowgod
3

Używam napędu ramdrive od Dataram . Visual Studio nie używa wszystkich rdzeni komputera (8 rdzeni), więc zrobiłem to, że sformatowałem ramdrive z NTFS i aktywowałem Kompresję. Kodowanie źródłowe ma wysoki współczynnik kompresji, więc dysk RAM o pojemności 2 GB zapewnia co najmniej 4 GB pamięci. Możesz także włączyć automatyczne zapisywanie napędu ramdrive! Ta metoda zapewnia najszybsze we / wy, nawet szybsze niż SSD. Jednak zauważysz, że gdy IO nie jest wąskim gardłem, VS bardzo słabo używa wielu rdzeni.

Amir Rezaei
źródło
Czy to naprawdę tak dobry wynik?
Anirudha Gupta
1
Przetestowałem to i nie mogłem zmierzyć żadnej istotnej różnicy w stosunku do SSD
thumbmunkeys
@ thumbmunkeys Używam primocache i zapisuję dysk po wyłączeniu komputera. Wszystko do odczytu Zapis do pamięci RAM.
Anirudha Gupta
@GuptaAnirudha jest szybszy niż dysk SSD?
thumbmunkeys,
1
Moje studio wizualne działa szybciej niż wcześniej. Pierwsze czytanie odbywa się z dysku, więc nie jest to szybkie za pierwszym razem, ale jeśli uruchomisz ten sam projekt z ostatnich 5-6 godzin, zobaczysz różnicę.
Anirudha Gupta