Kami sedang mengevaluasi konfigurasi pc pengembang generasi berikutnya di seluruh perusahaan dan melihat sesuatu yang sangat aneh.
Monolit kami yang agak besar memiliki - pada konfigurasi kami saat ini, waktu pembuatan kira-kira. 4,5 menit (tidak ada tes, cukup kompilasi).
Untuk konfigurasi generasi berikutnya, kami meningkatkan beberapa komponen. Peningkatan moderat pada frekuensi dan IPC dengan prosesor, penggandaan jumlah inti CPU, dan peralihan dari SSD SATA kecil ke SSD NVMe dengan rating >3GBps. Selain itu, konfigurasi generasi berikutnya beralih dari Windows 7 ke Windows 10.
Saat menjalankan pengujian pertama, kami melihat waktu build yang hampir sama (4,3 Menit), dan peningkatannya jauh lebih sedikit dari yang kami harapkan.
Selama percobaan kami, kami mencoba pada satu titik untuk menjalankan proses pembangunan dari dalam mesin Linux virtual yang berjalan pada host windows. Pada konfigurasi lama (Windows7) kami melihat penurunan waktu build dari 4,5 menjadi ~3,7 Menit, pada Host Windows 10, kami melihat penurunan dari 4,3 menjadi 2,3 menit. Kami telah mengesampingkan hal-hal seperti pemindaian virus.
Kami agak terkejut dengan hasil ini dan mencoba mencari penjelasan lain selain pernyataan yang hampir bersifat keagamaan dan menghina tentang sistem operasi yang berbeda.
Jadi pertanyaannya adalah: Kesalahan apa yang mungkin kita lakukan dalam mengkonfigurasi mesin Windows sehingga kecepatannya hampir setengah dari kecepatan Linux yang berjalan tervirtualisasi di host windows yang sama? Terutama karena semua kemajuan perangkat keras tampaknya termakan oleh peralihan dari Windows 7 ke 10.
Pertanyaan lainnya adalah: Bagaimana kita bisa menguasai proses javac menggunakan lebih banyak core, karena saat ini, dengan menggunakan Hotspot JDK 8 kita dapat melihat paling banyak dua core yang benar-benar digunakan oleh build. Saya telah membaca tentang sjavac tetapi sepertinya fitur eksperimental hanya tersedia untuk OpenJDK9 dan seterusnya, bukan?