Eğer ikinci sanal çekirdeğin birincinin ne zaman sıkışıp kalacağıma katkıda bulunmasına izin veriliyorsa, yapmamaktan iyidir , bu yüzden (en azından) biraz daha fazla iş yapılır.
Soru şu: İki farklı iplik ne zaman birinin daha kötü çalışmasına neden oluyor? Branş tahmini ve talimatlar arasındaki bağımlılıklar değişmez. Şimdi bellek erişimi bekleniyor ... iki iş parçacığı, hem önbellek kullanımı hem de bant genişliği açısından bellek erişimi üzerinde rekabet ediyor.
HT ile çalışan bazı CPU'larınız varsa ve diğerleri değilse, bu, bir türe veya diğerine belirli iş parçacıkları atayacağınız anlamına mı geliyor? Sanırım hayır: Programlarınız konularını rasgele sanal çekirdeklerde çalıştıracak. Peki yapılandırmayı bölmek nasıl yardımcı olur? Her bir işlemcinin kendi önbelleği olduğundan, tek etki bellek bant genişliğinden ve önbellek tutarlılığının yükünden kaynaklanır.
Nerede Genelde, bir noktaya sahip bir şey daha sen yapıyor olabilirdim bazı CPU yürütme birimleri boşta gitmesine izin daha pahalıdır. Bu, doğrudan iş parçacığı sayısına değil, iş parçacığının ne yaptığına ve çeşitli bileşenlerin ayrıntılı hafıza mimarisine ve performans nüanslarına bağlıdır.
Basit bir cevap yok. Akılda belirli bir program olsa bile, makine kendi deneyimlerini ile ilgili insanlarınkinden farklı olabilir.
Kendin denemek ve en hızlı olanı ölçmek zorundasın . Ve o zaman bile, yazılım güncellemeleri ve zaman içindeki kullanımı değiştirerek değişiklik gösterebilir.
Öfke'nin magnum opus hacmine 3 bak . Belirli bir işlemciye dikkatlice bakarsanız, kod yürütmek için gereken birçok adımın derin borusu arasında sınırlayıcı kaynaklar bulabilirsiniz. Daha fazla çalışmamanın aksine aşırı bağlılığın daha yavaş çalışmasına neden olduğu bir durum bulmanız gerekir. Genel olarak bu bir çeşit önbellek anlamına gelir; ve kaynağın iş parçacıkları arasında paylaşıldığı yer.
CPU sayacı ne anlama geliyor: boşta iş parçacığını çalıştırarak harcanmamış her zaman raporlar. Bir çekirdeğe atanan her iki mantıksal iş parçacığı, bunlardan birinde yapılan fiili iş küçük olsa bile boşta olmayacaktır. Boru hattı ile harcanan zaman, sonuçlar hazır olana, hafıza getirilinceye, atomik işlemlerle çevrilmiş, vb. ve zaman hala kullanımda olarak gösterir. RAM'de beklemek boşta görünmez. Yalnızca G / Ç gibi bir şey diş bloğunu tıkayacak ve doğru şarj süresini durduracaktır. Genel olarak bir işletim sistemi muteksi böyle olacaktır, ancak artık çok emin olmayan bir sistem olan yükselişe rağmen , bir " döndürme kilidi" ipliğin rafa geri gitmesini sağlamaz .
Bu nedenle,% 100'lük bir CPU metre, CPU sıklıkla bellek bekletilip sıkışmışsa, tümünün yelken açmak anlamına gelmez. % 90'ı gösteren daha az sayıda mantıksal çekirdek , sayıca çatlamayı tamamladığından ve şimdi diskte beklediğinden, daha fazla iş yapılması iyi olabilir .
Bu yüzden CPU sayacı hakkında endişelenmeyin. Sadece kaydedilen ilerlemeye bakın .