Benchmarkdotnet içerisinde parametrelendirme özelliklerinden bahsettim bu videoda.
✅ Best Practices
➡️Release build (debug mode 10-100 kat daha yavaş)
➡️Farklı ortamları deneyin (CLR, .NET Framework ve JIT)
➡️Math.Exp(1);
şeklinde ölü kodları engelleyin (JIT bu kodları optimize ediyor). Mümkünse return Math.Exp(1);
şeklinde kullanın.
➡️Standart OS process’leri ve benchmark process’i hariç diğer tüm process’leri öldürün.
➡️Bilgisayarını şarja takın ve maksimum performans modunda çalıştırın.
✅ İterasyonlar
➡️Pilot: Seçilecek en iyi işlem sayısı.
➡️OverheadWarmup, OverheadWorkload: Değerlendirilecek ek yük.
➡️ActualWarmup: Isınma süreci.
➡️ActualWorkload: Gerçek ölçümler.
➡️Result = ActualWorkload – MedianOverhead
Kaynak: https://benchmarkdotnet.org/articles/features/parameterization.html