Mam twarde dane dla Visual C # 2008. Krótka wersja jest taka, że jesteś najlepszy wydatkowania pieniędzy na szybszym procesorem szybszym niż I / O . Następuje dłuższa odpowiedź ...
Nasze rozwiązanie w języku C # (.NET 3.5) zawiera 81 projektów z ponad 2 milionami wierszy kodu (w tym komentarze i puste wiersze). Kilka lat temu zaktualizowaliśmy komputery PC z procesorem Pentium 4 3 GHz ze standardowymi dyskami twardymi do komputerów z procesorem Core 2 Duo 2,6 GHz i dyskami twardymi WD Raptor o prędkości 10 000 obr./min (74 GB). Przyspieszenie było ogromne. Około 10 minut do 3,5 minuty. Wszystko to w 32-bitowym środowisku Windows XP Pro z 4 GB pamięci RAM.
Mamy też jeden gigabajtowy i-RAM (wygoogluj go w celu uzyskania informacji), który jest w zasadzie dyskiem twardym RAM z podtrzymaniem bateryjnym. W przeciwieństwie do dysku SSD, który jest szybki do odczytu, ale wolniejszy do zapisu, i-RAM jest szybki dla obu, ale jeśli stracisz energię, bateria wystarcza tylko na około 12 godzin, więc musisz być zdyscyplinowany podczas sprawdzania. Skróciło to o kolejną minutę czas kompilacji na platformie Core 2 Dou (do 2,5 minuty) w porównaniu z dyskiem twardym Raptor o prędkości 10 000 obr./min.
Od tamtej pory odkryłem, że te stare dyski Raptor o pojemności 74 GB i prędkości 10 000 obr./min są nieco wolniejsze od nowoczesnych dysków 7200 obr./min. Nie próbowaliśmy nowych Velociraptorów, ale z pewnością byłyby one szybsze, ale prawdopodobnie niewystarczające, aby były tego warte tylko w czasie kompilacji.
W zeszłym tygodniu otrzymaliśmy nową platformę Intel Core i7-870 z dyskiem SSD G.Skill Falcon 128 GB (z kontrolerem Indilix Barefoot) i standardowym dyskiem twardym 500 GB jako drugim dyskiem. Wrzuciłem też i-RAM do tego komputera i przetestowałem wszystkie konfiguracje.
W porównaniu z Core 2 Duo, który skompilował się w 3,5 minuty dla dysku twardego i 2,5 minuty dla i-RAM, i7-870 kompiluje się w ciągu 1 minuty i 40 sekund dla dysku SSD, HDD i i-RAM, co daje lub zajmuje 3 sekundy.
Tak więc za każdym razem, gdy aktualizowaliśmy stacje robocze programistów, zdecydowana większość poprawy wydajności w czasie kompilacji C # pochodziła z szybszego procesora, a nie z szybszego dysku. Jeśli chcesz przyspieszyć czas kompilacji, włóż pieniądze do procesora, a nie do dysku.
To powiedziawszy, dysk SSD jest znacznie szybszy do ładowania programu Visual Studio i otwierania rozwiązania (chociaż nie mam na to czasu). Jeśli możesz sobie pozwolić na dysk SSD, nigdy nie wrócisz, ponieważ każdy program na twoim komputerze ładuje się o wiele szybciej, że jest niesamowity. Ale nie przyspieszy to znacząco twoich kompilacji. I to jest w przypadku programu Visual Studio C #, który jest jednowątkowy. Gdyby Microsoft kiedykolwiek zebrał się razem i stworzył kompilator w wielowątkowym środowisku IDE, moglibyśmy faktycznie użyć tych czterech rdzeni ...
Aktualizacja z maja 2012 r .: Teraz ponownie zaktualizowaliśmy nasze komputery i opierając się na tym, czego się nauczyliśmy, zanim skupiliśmy się na wydajności procesora. Nowe komputery mają procesory Intel Core i7-2600k podkręcone do 4,6 GHz, z dyskiem SSD Intel 510 Series 120 GB SATA III, 16 GB pamięci RAM i dużą chłodnicą procesora! Zaskakujące jest to prawie połowę czas kompilacji iz pewnością przypisuję to bardzo dużemu wzrostowi mocy procesora, a nie szybszemu dyskowi SSD.
Wyniki kompilacji C # w programie Visual Studio 2010 były następujące:
- 159 sekund: zapasowy procesor Intel Core i7-870 (2,9 - 3,3 GHz), 4 GB RAM z SATA II SSD
- 109 sekund: zapasowy Intel Core i7-2600k (3,4 - 3,8 GHz) 16 GB RAM z SATA III SSD
- 84 sekundy: przetaktowany procesor Intel Core i7-2600k (4,63 GHz), 16 GB RAM z SATA III SSD