Pilihan terbaik adalah ketergantungan sistem. Jadi yang ingin Anda lakukan adalah menjalankan kedua versi pada sistem nyata, dan kemudian memeriksa bagaimana sistem merespons. Masih bisakah Anda menggunakan browser, editor teks, hal-hal lain di sistem Anda? Dan apakah kinerja lebih baik saat menggunakan n utas dan bukan n-1? Apa yang terjadi jika Anda menjalankan aplikasi bersama dengan aplikasi lain yang mencoba menggunakan semua CPU?
Dan kemudian Anda perlu mempertimbangkan hyperthreading. Dengan empat core plus hyperthreading, Anda bisa menggunakan 8 core, atau 7 core. Sekali lagi, cobalah responsif sistem dan waktu untuk menyelesaikannya.
Dan akhirnya, pertimbangkan untuk membagi pekerjaan Anda menjadi lebih banyak blok daripada utas. Alasannya adalah bahwa utas yang berbeda akan menyelesaikan pekerjaan pada waktu yang berbeda, dan kemudian Anda ingin pekerjaan yang tersisa diserahkan ke utas yang lebih cepat. Kalau tidak, Anda harus menunggu sampai utas terakhir selesai.
PS. "Hyperthreading tidak dapat membantu dengan kode intensif FPU karena hanya ada satu FPU". Sangat salah. Sangat sulit, bahkan dengan kode intensif FPU, untuk memanfaatkan FPU sepenuhnya karena latensi. Hyperthreading membantu karena ada dua kali lebih banyak operasi independen yang tersedia untuk penjadwalan.