Gecikme ile bant genişliğini ayırmak
Gecikme testinde birbirine bağlı adres okumaları kullanılıyor: sonraki adres, önceki okumadan geliyor. Böylece aynı anda çok sayıda bağımsız okuma yapıp bekleme süresini gizlemek zorlaşıyor. Bant genişliğinde ise okuma, yazma ve kopyalama akışlarını ayrı ölçüyorum.
ZenStation'da sayfa içindeki erişimleri öne çıkaran PageLocal ve sayfalar arasında dolaşan FullRandom yolları var. İkinci yol adres çevirme maliyetini daha fazla görünür kılabiliyor. Bu yüzden farklı erişim düzenlerinin gecikmelerini aynı testmiş gibi karşılaştırmıyorum.
Önbelleği RAM sanmamak
Çalışma kümesi önbelleğe sığıyorsa ölçüm DRAM yerine önbelleğin davranışını gösterebilir. L1, L2, L3 ve RAM sonuçlarını ayrı sunmak, bu ayrımı görünür kılıyor. ZenTimings v1.44'te önbellek ve RAM için hız ve gecikme aynı tabloda yer alıyor.
ZenStation testinde bellek tamponu seçimi, kullanılabilir bellek ve işlemci topolojisi birlikte değerlendiriliyor. Büyük L3'lü işlemcilerde tampon boyutu özellikle önemli. İki CCD'li sistemlerde L3 alanlarını ayrı ele almak gerekiyor; bütün çekirdeklerin tek bir ortak L3'e eriştiğini varsaymıyorum.
Karşılaştırılabilir bir kayıt tutmak
İş parçacığının hangi çekirdekte çalıştığı, ısınma turları, arka plan yükü ve large-page kullanımı sonucu değiştirebiliyor. Uygulama çekirdek seçimini ve test seçeneklerini sonuçla birlikte saklıyor. Büyük sayfalar kullanılamadığında da bu durum gizlenmiyor.
Bir ayar değişikliğini değerlendirirken aynı test profili, tampon boyutu ve erişim yolu ile birkaç tur çalıştırıyorum. Tek bir iyi tur yerine tekrarların dağılımına, önceki kayda ve o sıradaki bellek zamanlamalarına bakıyorum. Test yönteminin sürümü değiştiğinde eski sonuçların doğrudan karşılaştırılabilirliğini de yeniden değerlendiriyorum.
Bellek performansı sonucu, sistemin kararlı olduğunu tek başına kanıtlamaz. Bu yazı ölçüm yöntemini açıklıyor; örnek bir sonucu bütün bellek kitleri için hedef değer olarak sunmuyor.