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.
Henüz yorum yapılmamış