2010-06-11 16 views

cevap

15

Hep

+5

+1'in arkasındaki fikir, bir sonraki kaynak dosya için disk G/Ç'de beklerken işlemcinin/işlemcilerin bir şeyler yapmasına yardımcı olmalarıdır. –

+0

Anlaştık, artı 2 benim için iyi çalıştı. Ağır disk kullanımı. –

+0

Bkz. [MAKEOPTS = ”- j $ {core} +1 ″, en iyi optimizasyon DEĞİLDİR] (https://blogs.gentoo.org/ago/2013/01/14/makeopts-jcore-1-is-not- En iyi optimizasyon /) – vladr

4

Sadece ölçmek önerilen değeri olarak kullanılabilir çekirdek sayısını artı 1 gördüm.

Çekirdek sayısıyla başlayın. Sonra azalan getiri elde edene kadar bir tane ekleyin.

+1

+1 Deneme, buraya gitmenin tek gerçek yoludur. I/O bağlı olan çok sayıda iş parçacıklı kod yazdım ve normalde işleyicilerin sayısı üzerinden iş parçacıklarının sayısını artırabilir ve performans artışları elde edebilirsiniz. Daha sonra bir noktada performans düşer, genellikle oldukça dramatiktir. –

+0

Burada iyi bir fikir olup olmadığına bakmayın. Bir noktada, sadece artan bir performans elde edersiniz çünkü iş parçacığı daha büyük bir zaman dilimi alır. Bu çok iyi bir fikir değil. Aksine, eğer inşa süreci bu kadar önemliyse, daha az iplik kullanmak ve “güzel” seviyesini yükseltmek gerekir. –

+0

@Mads: Burada bahsettiğim şey, bir oluşturma işleminin çok sayıda disk erişimi yapabilmesidir. Bir çok iş parçacığı, diski beklerken hızla engellenebilir, bu arada diğerleri (çekirdek başına bir tane) gerçek bir derleme gerçekleştirebilir. – quamrana

İlgili konular