3 Ekim 2012 Çarşamba

ArrayList ler mi List<> ler mi daha performanslı?

Verileri taşımak için kullandığımız liste yapılarında her zaman ArrayList'lerin mi yoksa List'lerin mi daha performanslı olduklarını düşünürdüm. Web uygulamalarında zaman ve yüklenme sıkıntılarını yaşamamak için her zaman dikkat etmemiz gereken performanlı kod yazımında hangisi daha avantajlı denemek için bazı testler yaptım.
Test sonuçları aşağıdaki gibi:

  • Öncelikle eğer kullanma durumunuz varsa mutlaka ikisinden birini kullanın. Bu şekilde elinizdeki verileri taşımak hem daha kolay hem de bu şekilde gerçekten performans elde ediyorsunuz. Ama sonuçta ikisi arasında önemli bir performans farklılığı bulunmuyor.
  • Taşınacak veri valuetype ise (Int32 gibi sayısal veriler) ArrayLists yüksek verilerde yavaşlık gösteriyor. Milyonlarca kayıtla uğraşıyoranız List<int> kullanmak daha yararlı olabilir.
  • Reference-type verilerde (string gibi) yine List<string> daha performanslı çıktı. Ama bu performans farklılıkları 8 milyon kayıtta 100 milisaniye gibi yani elinizdeki ArrayListleri List'e dönüştürmeye değmeyecektir. Yeni başlangıçlarda List kullanmayı düşünebilirsiniz. 
  • Tanımlama yaparken her ikisi için de ilk uzunluk değeri atayabiliyorsanız yapmanız yararlı oluyor.

  • ;)

     

    Hiç yorum yok:

    Yorum Gönder