Jika suatu tugas membutuhkan waktu 10 jam pada prosesor 1GHz, apakah itu membutuhkan waktu 5 jam pada prosesor 2Ghz?


12

Jika suatu tugas membutuhkan waktu 10 jam pada prosesor 1GHz, apakah itu membutuhkan waktu 5 jam pada prosesor 2Ghz?

Atau apakah saya terlalu menyederhanakan masalah?

Jawaban:


20

Seperti yang ditunjukkan oleh jawaban lain, bahkan jika CPU bekerja 5 kali lebih cepat, tidak semuanya akan menjadi 5 kali lebih cepat, karena kadang-kadang komputer menghabiskan waktu tidak bekerja dengan CPU, tetapi menunggu operasi lain, seperti disk atau jaringan I / HAI.

Selain itu, CPU modern cukup rumit secara internal, dan melakukan segala macam trik mewah (pipelining, prediksi cabang, eksekusi out-of-order) untuk mempercepat. Ini mungkin bekerja lebih baik atau tidak pada CPU yang lebih cepat, sehingga bahkan untuk tugas-tugas yang terikat CPU percepatan mungkin tidak akan 5 kali.

Mungkin kurang, atau bahkan lebih, tergantung pada sifat tugas dan seberapa baik itu sejalan dengan optimisasi yang coba digunakan CPU. Juga, optimasi ini sendiri mungkin akan berbeda dalam model CPU baru (bahkan jika itu dari seri yang sama).


1
+1 untuk penjelasan yang sangat jelas tentang beberapa poin yang sangat halus.
Shinrai

2
Kadang-kadang Anda mungkin memiliki lebih banyak core yang memberikan tolok ukur yang lebih tinggi pada tugas-tugas seperti encoding video tetapi banyak tugas lain tidak akan melihat speedup kecuali mereka dapat memanfaatkan semua core.
Jared Updike

8

Tidak, itu hanya 1 kasus terbaik. Jika tugas Anda memerlukan mis. Akses jaringan atau hard drive, itu akan menjadi hambatan yang tidak dapat Anda kompensasi dengan CPU yang lebih cepat.

1 ) dengan asumsi tidak ada perubahan lain di mana dilakukan pada sistem dan CPU


8

Tidak. Semua waktu yang dibutuhkan oleh aplikasi untuk menjalankan tidak hanya tergantung pada kecepatan prosesor.
Sebagai contoh:

  • Input dan output disk bergantung pada kecepatan rotasi piringan disk
  • Memori membaca, menulis bisa lebih lambat atau lebih cepat tergantung pada cache
  • Penjadwalan proses mungkin berbeda.

2

Jika Anda membuat, katakanlah, program yang menghitung bilangan prima dan sama sekali tidak ada akses I / O atau akses jaringan yang dilakukan, kecepatannya masih belum berlipat ganda. Itu bisa sangat berbeda.

Jika merupakan CPU dengan merek, generasi, teknologi, jumlah transistor, set instruksi yang sama, dan ukuran komponen yang sama dalam nanometer, frekuensi ganda dapat berarti kecepatan ganda. Itu berarti jika Anda tidak menyimpan apa pun dan tidak ada hambatan pada cache CPU.


Anda lupa elemen lain seperti memori cache, yang tidak akan berlipat ganda dalam kecepatan. Bagaimanapun, CPU mengeksekusi instruksi dari cache (dalam skenario best-of).
harrymc

Saya tidak lupa cache, baca dua kata terakhir :). Prasyaratnya adalah bahwa tidak ada hambatan pada cache tersebut, bahwa cache berfungsi masih cukup cepat
sinni800
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.