[edit # 2] Jika ada orang dari VMWare yang dapat memukul saya dengan salinan VMWare Fusion, saya akan dengan senang hati melakukan hal yang sama dengan perbandingan VirtualBox vs VMWare. Entah bagaimana saya menduga hypervisor VMWare akan lebih baik disetel untuk hyperhreading (lihat jawaban saya juga)
Saya melihat sesuatu yang aneh. Ketika saya meningkatkan jumlah core pada mesin virtual Windows 7 x64 saya, waktu kompilasi keseluruhan meningkat bukannya menurun. Kompilasi biasanya sangat cocok untuk pemrosesan paralel seperti di bagian tengah (post dependency mapping) Anda cukup memanggil instance kompiler pada masing-masing file .c / .cpp / .cs / apa pun yang Anda buat untuk membuat objek parsial yang dapat diambil oleh linker. lebih. Jadi saya akan membayangkan bahwa kompilasi sebenarnya akan berskala sangat baik dengan # core.
Tapi yang saya lihat adalah:
- 8 core: 1,89 detik
- 4 core: 1,33 detik
- 2 core: 1,24 detik
- 1 inti: 1,15 detik
Apakah ini hanya sebuah artefak desain karena implementasi hypervisor vendor tertentu (type2: virtualbox dalam kasus saya) atau sesuatu yang lebih meresap di lebih banyak VM untuk membuat implementasi hypervisor lebih sederhana? Dengan begitu banyak faktor, saya sepertinya bisa membuat argumen untuk dan menentang perilaku ini - jadi jika seseorang mengetahui lebih banyak tentang ini daripada saya, saya ingin tahu untuk membaca jawaban Anda.
Terima kasih Sid
[ edit: menangani komentar ]
@ MartinBeckett: Kompilasi dingin dibuang.
@MonsterTruck: Tidak dapat menemukan proyek opensource untuk dikompilasi secara langsung. Akan bagus tapi tidak bisa mengacaukan dev dev saya sekarang.
@Mr Lister, @philosodad: Memiliki 8 hw utas, menggunakan VirtualBox, jadi seharusnya pemetaan 1: 1 tanpa emulasi
@ Torbjorn: Saya memiliki 6.5GB untuk VM dan proyek VS2012 yang bertubuh kecil - sangat tidak mungkin saya menukar file halaman.
@All: Jika seseorang dapat menunjuk ke proyek VS2010 / VS2012 open source, itu mungkin referensi komunitas yang lebih baik daripada proyek VS2012 (milik) saya. Orchard dan DNN tampaknya membutuhkan penyesuaian lingkungan untuk dikompilasi dalam VS2012. Saya benar-benar ingin melihat apakah seseorang dengan VMWare Fusion juga melihat ini (untuk kompartementalisasi VMWare vs VirtualBox)
Detail tes:
- Perangkat keras: Macbook Pro Retina
- CPU: Core i7 @ 2.3Ghz (quad core, hyper threaded = 8 core di windows task manager)
- Memori: 16 GB
- Disk: SSD 256GB
- Host OS: Mac OS X 10.8
- Tipe VM: VirtualBox 4.1.18 (tipe 2 hypervisor)
- OS Tamu: Windows 7 x64 SP1
- Kompiler: VS2012 mengkompilasi solusi dengan 3 proyek Azure C #
- Kompilasi pengukuran waktu dengan plugin VS2012 yang disebut 'VSCommands'
- Semua tes berjalan 5 kali, 2 run pertama dibuang, 3 rata-rata terakhir