Hastable ve Dictionary performans benchmark

Merhaba,

Bugün Hastable collectionların Dictionary karşı bir takım testlerini yapacağız. Test case’i olarak, içersine eklediğimiz 10.000 key içersinde, bir tanesini bulacak ve bir tanesini bulamayacak şekilde aynı işlemi 20 M kere deneyerek süreleri göreceğiz.

Hastable örnek;

Hashtable hashtable = new Hashtable();
for (int i = 0; i < 10000; i++)
{
hashtable[i.ToString(“00000”)] = i;
}

Dictionary örnek;

var dictionary = new Dictionary<string, int>();
for (int i = 0; i < 10000; i++)
{
dictionary.Add(i.ToString(“00000”), i);
}

Aranacak kayıtlar;
hashtable.ContainsKey(“09999”)
hashtable.ContainsKey(“30000”)

dictionary.ContainsKey(“09999”)
dictionary.ContainsKey(“30000”)

Sonuç;
Hashtable result: 966 ms
Dictionary result: 673 ms
Hastable, Dictionary’e göre %30 daha yavaş olduğu gözlenmektedir. Bu nedenden dolayı, tercih olarak daima Dictionary collectionları tercih etmek performans açısından çok daha verimli olacaktır.

Benzer Yazılar

Henüz yorum yapılmamış

Yorum Yazın

Su elementleri kullanabilirsiniz : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Arama
RSS
Beni yukari isinla