2013-05-24 25 views
6

Ortalama okumayı not etmek için birkaç kez karşılaştırma yapın. Ama ilk çalışmadan sonra, sonraki çalışmaların daha hızlı olduğunu fark ettim. Tahmin Önbelleği ile ilgili bir şey var sanırım, bu yüzden programı bir dahaki sefere çalıştırdığımda, kıyaslamada önbellekteki talimatlar zaten var. Hem soğuk talimat hem de veri önbellekleriyle bir program başlatmanın bir yolu var mı?Bir program soğuk önbellekle nasıl başlatılır

+2

Daha büyük olasılıkla disk önbelleği, düşünürdüm? –

+0

Bunun nedeni, program ve verilerin CPU önbelleklerinden değil, diskten okunmasıdır. – sharptooth

+0

Güzel soru! –

cevap

4

Bu normal bir davranıştır. Bu problemden kaçınmanın bir yolu, ana çalışmadan önce az ısınmaktır. Bu ısınma çalışmaları, daha önce çalışan programda büyütülen önbellek belleğinin üzerine yazacaktır. Ortalama değeri hesaplarken, ısınma çalışma değerlerini hariç tutmak sadece gerçek koşuyu alır. Bu yaklaşımı benimseyen çeşitli tezgah markalama araçları. kernbench, lmbench vs. Bir ısınma değeri mevcut olduğunda.

Çalıştığınız ölçüt, diskten okunması gereken verilere bağlıysa, disk önbelleğe alma işleminin de bir miktar etkisi vardır, bundan kaçınmanın bir yolu, mümkünse bu verileri ram üzerine önbelleğe almaktır. Bu teknik, disk önbelleği ile ilgili sorun önlemek için kernbench kullanılır.

İlgili konular