Apakah ada yang melakukan tolok ukur perangkat keras pada kode kompilasi? [Tutup]


21

Saya telah melihat banyak situs yang menjadi tolok ukur perangkat keras baru pada kinerja gaming, membuat zip beberapa file, meng-encode film, atau apa pun. Apakah ada yang menguji dampak dari perangkat keras baru (seperti SSD, CPU baru, kecepatan RAM, atau apa pun) pada kecepatan kompilasi dan tautan, baik linux atau windows?

Akan sangat baik untuk mencari tahu apa yang paling penting untuk kecepatan kompilasi dan dapat fokus pada hal itu, daripada hanya memperkirakan dari tolok ukur lain.


Saya pikir ini milik SuperUser.
Mahmoud Hossam

2
@Mahmoud Hossam: Semacam topik campuran, kompilasi adalah aktivitas khusus programmer, sedangkan tolok ukur perangkat keras jelas merupakan wilayah yang berbeda.
Orbling

@Orbling dengan baik, dia tidak bertanya apakah dia harus mengkompilasi X atau Y, dia bertanya apakah orang menggunakan kompilasi secara umum untuk melakukan benchmark.
Mahmoud Hossam

1
saya melakukan beberapa kokizzu.blogspot.co.id/2015/02/...
Kokizzu

1
Ada patokan CPU berdasarkan waktu kompilasi kernel Linux di sini: openbenchmarking.org/showdown/pts/build-linux-kernel
sjakobi

Jawaban:


4

Saya melakukan itu untuk sementara waktu - lihat di sini dan di sini .

Pada saat itu, saya sedang mengerjakan retas GTK + dan X11 untuk distro ponsel Linux, dan setiap kali saya menyentuh sesuatu pada level yang rendah, itu memicu pembangunan kembali segala macam hal. Salah satu kolega saya tidak pernah melakukan build lengkap karena, di komputer perusahaan menyediakan opsi kompilasi standar, butuh lima jam.

Saya memiliki semua jenis perangkat keras yang gila di rumah, jadi saya menjalankan benchmark pada beberapa mesin sementara saya membuat kode pada yang lain, dan Anda dapat melihat hasilnya di tautan.

Untuk apa yang kami lakukan di Ubuntu, setelah saya memaksimalkan penggunaan CPU - yang dapat Anda lakukan dengan sangat mudah dengan argumen -j untuk membuat - bottleneck sepertinya adalah disk.

Tetapi kemudian perusahaan mengalami PHK besar, jadi saya keluar dari pintu, dan tidak menyelesaikan semua itu. Saya punya banyak data dan interpretasi yang tidak saya posting di blog itu juga.


Sayang membangunnya dengan dua pos terperinci dan berhenti. Apakah Anda masih memiliki semua data itu? Bagaimanapun, akan sangat menarik untuk melihat beberapa posting / jawaban blog dengan beberapa kesimpulan dari apa yang Anda temukan.
Hugo

@ Hugo: Tidak, saya khawatir tidak - data mentah sudah lama hilang. Tetapi pada dasarnya yang saya kemukakan adalah untuk sistem (1-8 core CPU) dan kode sumber (kernel Linux) yang saya uji, waktu build tercepat adalah ketika opsi -j berada di 1.5x jumlah core, dengan -j = 2 menjadi yang terbaik untuk satu inti. Di bawah itu, sistem terikat CPU, dan di atas itu, mereka terikat I / O. Ini pertanyaan yang menarik - mungkin saya harus mengambilnya lagi suatu hari nanti.
Bob Murphy

0

Pertama di wishlist saya adalah Solid State Drive. Ini tidak akan berdampak besar pada waktu kompilasi, tetapi membuka aplikasi menjadi lebih cepat secara drastis (IDE, PhotoShop, ETC). http://joelonsoftware.com/items/2009/03/27.html

Faktor terbesar untuk waktu kompilasi adalah CPU. Anda cukup aman menggunakan ini untuk benchmark http://www.cpubenchmark.net/ .


1
Kemudian lagi banyak tergantung pada rantai build Anda. Jika rantai build Anda hanya menggunakan satu utas untuk dikompilasi pada multi-CPU, multi-core atau bahkan multi-threaded CPU, Anda membuang-buang kesempatan untuk mendapatkan keuntungan besar. Benchmark CPU biasa tidak akan menunjukkan hal itu, dan benchmark kompilasi hanya akan baik untuk toolchain yang diberikan.
asoundmove

2
Sebenarnya, saya menemukan melalui percobaan bahwa setelah Anda melakukan kompilasi paralel, disk Anda yang menjadi hambatan. Dengan alasan, Anda lebih baik dengan CPU yang lebih lambat dan disk yang lebih cepat daripada sebaliknya.
Bob Murphy

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.