Komponen PC mana yang memberikan dampak terbesar pada waktu kompilasi Anda untuk Visual Studio?


Jawaban:



13

Faktor yang saya temukan membuat perbedaan terbesar bukan faktor fisik, tetapi faktor perangkat lunak: Anti-virus apa yang telah Anda instal?

Beberapa produk anti-virus tidak menangani pengembangan perangkat lunak dengan sangat baik - mereka melihat semua file aplikasi ini ditulis ulang, dicurigai melakukan pelanggaran dan memindai ulang setiap file setiap saat.

(Lihat /programming/1170078/is-it-usual-for-aspx-files-to-take-5-10-seconds-to-save/1170129#1170129 untuk lebih lanjut.)

Di sisi lain, jika Anda ingin meningkatkan kinerja mesin yang ada, tidak ada yang mengalahkan memaksimalkan memori yang tersedia untuk kemenangan cepat.


PC di kantor menggunakan TrendMicro OfficeScan. Laptop dev saya di rumah menggunakan AVG 8.
Rob Allen

3
"Tren Mikro". Oh sayang. Jika Anda tidak bisa mendapatkan perubahan itu untuk hal lain, cium selamat tinggal pada kinerja apa pun.
Bevan

8

Inilah beberapa penelitian bagus dari Scott Hanselman tentang penggunaan banyak CPU untuk MSBUild. Percepatannya cukup dramatis.

Sunting: Saya harus mencatat, bahwa untuk mendapatkan pengalaman yang baik menggunakan Visual Studio, Anda memerlukan banyak RAM. :)


+1 Artikel bagus tentang topik ini. Saya lupa tentang itu. Saya pikir dia juga melakukan podcast tentang ini.
BinaryMisfit

4

Pengalaman pribadi saya dengan basis kode C ++ berukuran adil:

Mesin tua

Prosesor: Pentium 4 HT 3.06 GHz
Memori: 1 GB DDR RAM (PC 2100, jadi 333 MHz)
Disk: 7200 RPM hard drive (UDMA 100, jika memori berfungsi)
Waktu kompilasi: 50 menit

Mesin baru:

Prosesor: Core i7 720QM (8 prosesor logis) pada 1,6 GHz, turbo naik menjadi 1,73 GHz ketika semua core aktif
Memori: 8 GB DDR3 RAM pada 1066 MHz
Disk: hard drive 7200 RPM (SATA 2)
Waktu kompilasi: 4 menit (dengan / MP )


Kesimpulan: Semakin banyak prosesor, semakin cerah - bahkan pada kecepatan clock yang relatif rendah. SSD akan meningkatkan kali lebih jauh, tetapi dari pengamatan pesan kompilasi, saya ragu itu akan memperbaikinya lebih dari 30 detik.


3

Sejauh yang saya ingat terutama Prosesor dan Memori. Google cepat memang mengungkapkan berbagai tweak yang dapat meningkatkan waktu kompilasi.

Joel baru-baru ini memposting tentang efek Solid State Disk pada kompilasi di sini . Kecepatan disk umumnya tidak meningkatkan waktu kompilasi secara drastis. Namun menurut ini ia memang memiliki efek seperti yang ditunjukkan oleh lyngbym .


1

Untuk membangun program C ++, faktor # 1 sebelum semuanya adalah struktural - jika kode sumber terstruktur secara vertikal, itu akan memiliki dampak yang menghancurkan pada waktu pembangunan, terutama pembangunan bertahap. Saya secara lokal merestrukturisasi beberapa bagian dari proyek untuk peningkatan dramatis pada quad-core Xeon. 18 bulan kemudian dan mereka (orang-orang yang memiliki proyek) masih tidak dapat menandingi waktu pembuatan jam dinding saya bahkan pada mesin Core i7.

Efek (positif atau negatif) dari tata letak perangkat lunak Anda berlipat ganda di setiap anggota tim Anda dan setiap bangunan yang mereka lakukan.


Tolong, apakah Anda memiliki tautan yang menjelaskan struktur kode yang berbeda. Saya pikir saya tahu apa yang Anda maksudkan tetapi saya tidak yakin.
Rob Allen

Saya mengalami kesulitan menemukan referensi saya, tetapi ide umumnya adalah 1) gunakan deklarasi maju jika memungkinkan, 2) sertakan file hanya ketika deklarasi maju tidak akan berfungsi, dan 3) pastikan file yang Anda masukkan tidak menyatakan lebih banyak hal-hal yang diperlukan, yang pada gilirannya dapat membuatnya menyertakan lebih banyak file yang tidak Anda perlukan untuk file sumber tertentu yang sedang dikompilasi (alias menjaga header Anda kecil dan menggunakan deklarasi maju di dalamnya sama seperti yang Anda lakukan untuk file sumber).
Sam Harwell

1

Xoreax IncrediBuild adalah sistem build terdistribusi yang telah membuat peningkatan besar pada waktu kompilasi tempat saya bekerja. (Sayangnya, waktu tautan masih cukup panjang, khususnya rilis yang dibuat menggunakan optimasi seluruh-program dan pembuatan kode tautan-waktu, tapi itu sudah diperkirakan.)

teks alternatif

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.