Mungkin ada sebutir kebenaran dalam klaim program tertentu, tetapi menurut pemahaman saya tentu saja tidak akan melakukan apa pun dari apa yang mereka klaim sebagai dampak potensial kecuali kecuali di bawah tolok ukur yang tidak realistis dijalankan dalam kondisi pengujian yang sangat artifisial (klaim yang dibuat mungkin sepenuhnya benar, tetapi hanya dalam kondisi yang kemungkinan besar tidak pernah Anda alami).
Kedengarannya seperti utilitas mengutak-atik prosesor / inti. Secara default, proses mungkin sedikit melambung di antara inti di sebagian besar sistem operasi - misalnya Anda kadang-kadang akan melihat program yang tampaknya menggunakan ~ 25% dari empat core atau ~ 50% dari dua daripada ~ 100% dari satu.
Dengan sebagian besar, jika tidak semua, multi-core dan / atau multi-prosesor mendesain satu utas dalam suatu proses (yang bisa menjadi satu-satunya utas dalam proses satu-utas) yang terikat CPU dan bekerja pada blok data yang lebih kecil daripada Cache L1 / L2 CPU untuk sebagian besar operasinya akan beroperasi lebih efisien jika dikaitkan dengan satu inti tertentu daripada dibiarkan terpental di antara mereka. Hal ini karena bergerak di antara inti akan lebih mungkin berarti cache L1 inti baru perlu "prima" (dari cache L2 / L3 atau RAM utama) sebelum loop ketat yang cache prima core lain mungkin sudah siap untuk dapat menjalankan efisiensi puncak . Ini lebih buruk jika L2 atau L3 cache tidak memiliki kode / data yang berguna di dalamnya, yang mungkin menjadi masalah jika utas telah melompat ke CPU fisik yang berbeda. Perbedaannya akan menjadi minimal di terbaik sekalipun. Untuk membuat perbedaan, proses / utas perlu berulang melalui serangkaian data yang terbatas berkali-kali dan bahkan jika itu berganti inti sekali atau dua kali per detik penataan ulang cache L1 yang berkali-kali tidak mungkin menghasilkan jumlah yang signifikan kecuali Anda mengatur waktu operasi yang akan memakan waktu berhari-hari.
"Mengapa OS tidak mengatur afinitas proses / utas lebih agresif jika itu bisa membuat perbedaan? "adalah pertanyaan yang harus melompat ke pikiran Anda pada saat ini. Pada dasarnya, dalam kasus umum itu membuat sedikit perbedaan dan dalam kasus di mana ada beberapa proses ikatan CPU atau benang yang dapat di antara mereka menggunakan semua kekuatan CPU Anda mendapatkan pertalian yang salah dapat memperlambat segalanya dengan lebih dari melakukannya dengan benar akan membantu, dan Anda memiliki semua perhitungan tambahan yang terlibat dalam "menebak" apa yang benar untuk keadaan saat ini yang dapat membunuh atau membalikkan manfaat umum apa pun. , aturan keras dan cepat sedikit dan jauh antara apa yang mungkin terbaik untuk menyulap proses-proses tertentu pada satu arsitektur tertentu mungkin jauh kurang optimal pada yang lain. Jadi OS Anda akan dioptimalkan untuk kasus umum dengan melakukan sedikit optimasi tetapi tidak mencoba terlalu keras. Jika Anda melakukan sesuatu yang sangat spesifik (katakanlah, proses pengolahan angka atau data yang sangat spesifik yang hampir merupakan satu-satunya hal yang berjalan pada mesin) OS Anda akan memungkinkan Anda secara memadai pengguna istimewa untuk men-tweak afinitas proses dan akan memungkinkan programmer untuk memberikan petunjuk OS tentang apa yang mungkin lebih efisien juga - tetapi mengutak-atik secara salah dapat menghalangi scheduler daripada membantu.
Singkat cerita: distributor perangkat lunak itu mungkin menggunakan teknik yang secara teori akan membantu cara mereka mengatakannya, tetapi menurut pemahaman saya, Anda tidak akan melihat perbedaannya jika itu benar dan kemungkinan besar akan membuat segalanya lebih lambat. Anda mungkin akan membuang waktu berkali-kali menit menginstal ini dan bermain dengan pengaturannya daripada itu akan menghemat CPU Anda dalam beberapa dekade konstan 24/7 operasi intensif komputasi!
Bahkan lebih pendek: Hampir, tetapi tidak sepenuhnya, sepenuhnya minyak ular.
Peringatan: Menurut pendapat saya, anggap pengetahuan saya tentang area itu benar!