Membangun mesin Visual Studio cepat

27

Saya ingin membangun PC untuk menjalankan Visual Studio dengan sangat cepat. Saya memiliki sekitar 30 proyek C # yang mencakup layanan WCF, layanan web IIS. Jadi bagi saya, cepat berarti mengedit, mengkompilasi, menjalankan dan men-debug siklus.

Bagaimana saya harus menyeimbangkan investasi saya dalam daya CPU, memori, dan teknologi drive, ketika membangun mesin untuk tujuan saya?

Phillip Ngan
sumber

Jawaban:

19

Tim pengembang kami menggunakan perangkat keras SANGAT cepat ... $ 6.000 + per Mesin Dev per Januari 2010.

Perbedaan TERBESAR setiap komponen yang dibuat untuk kami (kami menguji satu hal pada suatu waktu) adalah menambahkan I / O sangat cepat dan menempatkan semua kode sumber kami pada perangkat keras itu. Kami melewati sekitar 10 konfigurasi yang berbeda (Berbagai RAID dengan VRaptors, SSD, dll ...) dan item terbaik yang kami dapatkan adalah drive IOXtreme dari Fusion IO.

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

Anda akan membutuhkan banyak RAM karena driver "mengunci" RAM dalam jumlah yang lebih besar semakin kecil ukuran blok yang diformat pada drive.

Anak-anak nakal itu tidak mudah menguap, dan SUPER cepat di kedua Random membaca dan menulis. Demi uang, kami tidak dapat membuat rig kami dikompilasi lebih cepat.

Saya akan mengatur waktu kompilasi dengan cepat untuk memberi Anda ide ...

OK, solusi Master kami dengan kode SEMUA saat ini memiliki 37 proyek, dan total 92.281 baris kode "dapat dieksekusi" sesuai dengan Hasil Metrik Kode Studio Visual. Untuk mengompilasinya dengan pengaturan pengembang DEFAULT C # di IDE (cukup isi ulang semua pengaturan sehingga Anda dapat membandingkan secara objektif dengan default jika Anda mau) membutuhkan waktu 22 detik. Pada mesin yang identik dengan 3 Velociraptors di RAID 5 membutuhkan waktu 29 detik, jadi sekitar 24% peningkatan.

Tes itu dijalankan dengan SOLUSI BERSIH diikuti oleh SOLUSI REBUILD, jadi seharusnya kompilasi penuh.

Saya tidak tahu tentang Anda semua, tetapi saya sering melakukan kompilasi setelah perubahan kecil hingga sedang. Mungkin rata-rata 80-100 kali per hari. Itu berarti bahwa HANYA IOXtreme drive menyelamatkan saya 9,3 menit per hari. Pada $ 70 per jam (rata-rata tingkat devs kami, kira-kira) yaitu $ 10 sehari, per pengembang. Jadi, hal itu membutuhkan waktu sekitar 90 hari untuk membayarnya sendiri. Lumayan kok ... mereka bebas pada saat ini.

Juga, saya BENAR-BENAR sangat merasa bahwa waktu kompilasi harus tidak pernah diizinkan untuk naik di atas ambang batas pengembang untuk gangguan. Buat saya menunggu 2 menit ... Masuk pada Wiki atau Google atau Youtube membuang-buang waktu. Itu jauh lebih sulit untuk diukur.

OK, jadi seluruh rig terlihat seperti ini:

Windows 7 Professional RAM 12GB 2x Quad Core Xeon (E5504) @ 2,00 GHz. Total 8 GHz per mesin. Highpoint 2320 Pengontrol RAID Server Mobo (saya lupa modelnya, maaf) 3x Velociraptors di RAID 5, dipartisi menjadi drive C, D, dan E. Windows pada C, program pada D, folder Data Pengguna pada E. IO Xtreme Drive sebagai Drive F. Semua kode (DLL kami dan pihak ketiga) ada di Drive F.

Semoga sukses untuk Anda semua!

Eric Burcham
sumber
Hebat ... tautan ke rangkaian produk itu sekarang rusak ... perusahaan teknologi tidak memahami cara kerja web!
mike nelson
1
Bagaimana ini berubah dalam 6 tahun terakhir? Adakah produk baru yang akan Anda rekomendasikan? Saya mengasumsikan harga telah turun secara signifikan sekarang.
TWilly
Mesin itu berharga $ 6.000 dan menghemat $ 10 sehari. Bagaimana cara Anda mendapatkan periode pengembalian 90 hari?
mga911
2
+1 untuk komentar tentang "ambang gangguan" - pengurasan produktivitas yang dapat berupa a besar sekali biaya tak terduga saat waktu kompilasi menjadi lebih lambat.
peterflynn
17

Ada pertanyaan serupa di sini: Komponen PC mana yang memberikan dampak terbesar pada waktu kompilasi Anda untuk Visual Studio .

Hambatan terbesar adalah disk drive ketika melakukan build di Visual Studio. Mulai dari Visual Studio 2008, Anda juga dapat memanfaatkan beberapa prosesor atau banyak core selama proses pembuatan. Jika itu aku, aku akan pergi dengan yang berikut:

  • Platform Core I7
  • RAM 6+ GB
  • Windows 7 64-bit (ini lebih cepat dari Vista )
  • Drive solid state yang cepat
  • Tidak ada perangkat lunak anti-virus aktif yang berjalan selama pembuatan Anda!

Bacaan lebih lanjut:

cowgod
sumber
Memberi +1 untuk jawaban yang jelas, tetapi jangan hanya mengambil i7, ambil yang baru!
Ivo Flipse
Bagaimana dengan banyak drive - satu untuk O / S, satu untuk 'Program Files', satu untuk 'build'? Apakah SSD masih bisa mengalahkan ini?
JBRWilkinson
@JBRWilkinson Ya, SSD adalah drive tercepat di pasar, asalkan Anda mendapatkan jenis yang tepat.
cowgod
3

Saya menggunakan ramdrive, dari Dataram . Visual Studio tidak menggunakan semua core PC saya (8 Core) sehingga yang saya lakukan adalah saya memformatnya ramdrive dengan NTFS dan Compression yang diaktifkan. Source code memiliki rasio kompresi yang tinggi sehingga ramdrive 2GB memberikan setidaknya penyimpanan 4GB. Anda juga dapat mengaktifkan penyimpanan otomatis ramdrive! Metode ini memberi Anda IO tercepat, bahkan lebih cepat dari SSD. Namun Anda akan melihat bahwa ketika IO bukan hambatan, VS sangat buruk dalam menggunakan multi core.

Amir Rezaei
sumber
Apakah ini benar-benar memberikan hasil yang begitu baik?
Adrian
1
Saya mengujinya dan tidak bisa mengukur perbedaan yang relevan dengan SSD
thumbmunkeys
@ thumbmunkeys Saya menggunakan primocache dan ini menyimpan disk ketika saya mematikan PC saya. Semuanya Baca Tulis dilakukan dalam RAM.
Adrian
@GuptaAnirudha apakah lebih cepat dari SSD?
thumbmunkeys
1
Studio visual saya bekerja lebih cepat daripada sebelumnya, Pembacaan pertama dilakukan dari Disk sehingga tidak cepat dalam pertama kali tetapi jika Anda menjalankan proyek yang sama dari 5-6 jam terakhir Anda dapat melihat perbedaannya.
Adrian