SORU
13 Aralık 2008, CUMARTESİ


.Döngü daha hızlı çalışır NET,' veya 'dosyalarda grup için, ''?

C#/VB.NET/.NET, hangi döngü daha hızlı çalışır, for foreach?

for bir döngü daha hızlı foreach bir döngü daha başarılı olduğunu okumuştum beri long time ago tüm koleksiyonlar, genel koleksiyon, tüm diziler, vb için doğru durdu düşündü.

Google taradım ve birkaç makale buldum, ama çoğu sonuçsuz (makaleler üzerinde yorum okumak) ve açık uçlu.

Harika bir ses her senaryo listelenen ve aynı için en iyi çözüm.

Örneğin (nasıl bu sadece bir örnek):

  1. 1000 bir dizi yineleme için dizeleri - for foreach daha iyidir
  2. IList (olmayan) genel dizeleri daha iyi üzerinden yineleme için daha for

Birkaç başvurular aynı: web üzerinde bulundu

  1. Original grand old article by Emmanuel Schanzer
  2. CodeProject FOREACH Vs. FOR
  3. Blog - To foreach or not to foreach, that is the question
  4. ASP.NET forum - NET 1.1 C# for vs foreach

[Düzenle]

Bu okunabilirlik yönü dışında, gerçekler ve rakamlarla gerçekten merak ediyorum. Performans optimizasyonu sıkılmış son mile önemli olduğu uygulamalar vardır.

CEVAP
13 Aralık 2008, CUMARTESİ


Patrick blogged about this geçen ay, aşağıdaki sonuçlar ile Smacchia:

  • Liste üzerinde döngü biraz foreach göre 2 kat daha ucuzdur için Liste üzerinde döngü.
  • Dizi üzerinde döngü Liste üzerinde döngü daha yaklaşık 2 kat daha ucuz.
  • Sonuç olarak, dizi için kullanarak döngü 5 kat daha ucuz Liste üzerinde döngü foreach kullanarak daha inanıyorum ki, bizim yaptığımız gibi).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • hydejiaqi

    hydejiaqi

    12 Mart 2008
  • NikkoNantone

    NikkoNantone

    21 Kasım 2011
  • SuperPrincessjo

    SuperPrinces

    1 EKİM 2010