- Lakukan lebih banyak utas selalu berarti kinerja yang lebih baik?
- Bagaimana utas mempengaruhi kinerja?
- Mengapa Anda perlu berhati -hati saat memiliki lebih dari satu utas?
- Apa yang terjadi ketika ada terlalu banyak utas?
Lakukan lebih banyak utas selalu berarti kinerja yang lebih baik?
Belum tentu. Mencapai kinerja yang lebih baik dalam perangkat lunak multi-threaded adalah latihan dalam kemacetan. Berapa banyak core yang tersedia adalah salah satu potensi kemacetan. Jika ada lebih banyak utas yang dapat dijalankan daripada inti yang tersedia untuk menjalankannya maka lebih banyak utas tidak akan membantu kinerja dan akhirnya menjadi overhead.
Bagaimana utas mempengaruhi kinerja?
Setiap utas perangkat lunak membutuhkan memori virtual untuk susun dan struktur data privatnya. Seperti cache, pengiralan waktu menyebabkan benang untuk saling bertarung untuk memori nyata dan dengan demikian melukai kinerja. Dalam kasus ekstrem, mungkin ada begitu banyak utas sehingga program kehabisan bahkan memori virtual.
Mengapa Anda perlu berhati -hati saat memiliki lebih dari satu utas?
Singkatnya, multi-threading lebih mungkin memperlambat program daripada mempercepatnya kecuali beberapa pemikiran dimasukkan ke dalamnya. Dua CPU bisa dua kali lebih cepat tetapi bisa dengan mudah sepuluh kali lebih lambat jika Anda tidak hati -hati.
Apa yang terjadi ketika ada terlalu banyak utas?
Kedua, menjalankan jumlah utas yang berlebihan menghasilkan overhead karena cara mereka bersaing untuk sumber daya perangkat keras terbatas. Sangat penting untuk membedakan antara utas perangkat keras dan perangkat lunak. Program membuat utas, yang disebut sebagai “utas perangkat lunak."Threads on Hardware adalah sumber daya fisik yang sebenarnya.