IEnumerable ve List Hız Farkı

pottie4r

Kilopat
Katılım
9 Haziran 2016
Mesajlar
1.430
Makaleler
2
Çözümler
40
Daha fazla  
Cinsiyet
Erkek
Merhabalar, .NET Core ile web site yazıyorum. Fazla trafik barındıran bir proje ve dolayısıyla maksimum verimi alabilmem gerekiyor. Hangi durumlar için List, hangi durumlar için IEnumerable kullanmalıyım?
 
IEnumerable, List'e göre iteration olarak daha hızlıdır. Performans almak istiyorsan IEnumerable kullan. Fakat add veya remove gibi işlemler yapacaksan IEnumerable bunu karşılamıyor.

List ise IEnumerable'a karşı performans anlamında düşüktür. List'in IEnumerable'a karşın farkı, data ile ilgili işlemler yapılabiliyor olmasıdır.

Amacın sadece read ise IEnumerable daha performanslı çalışacaktır. IEnumerable'ın daha performanslı olmasının sebebi ise, veriyi gerektiğinde sorgulamasıdır. List ise çağrıldığı anda sorguyu başlatır.

@bitwise'ın konuyla ilgili daha fazla detaya sahip olduğunu düşünüyorum.
 
Veritabanından veri çekiyorum ve zaten NoTracking ile geliyor. DB'den çektiklerimi sadece read için kullanacağım.
 
IEnumerate interface'ini implemente eden class'a gore degisir bunun cevabi.
Iterasyon hizinin pratikte fark yaratacagini dusunmuyorum, memory'deki X ten Y ye gidiyorsun, nanosaniyelik farklar.
 

Geri
Yukarı