SORU
5 Mayıs 2011, PERŞEMBE


'in o kadar da kötü Tembel ne g/Ç?

Genel olarak üretim kodu/O. sorum var, neden ben Tembel kullanmaktan kaçınmak gerektiğini duydum? Şimdiye kadar sadece etrafında oynamak dışında Tembel G/Ç kullanmak için TAMAM mı? Alternatifleri (örneğin sıralayıcısını) daha iyi yapan nedir?

CEVAP
5 Mayıs 2011, PERŞEMBE


Tembel IO elde ne varsa Serbest program veri -- tüketir ne kadar bağlı olarak biraz öngörülemeyen, bu sorunun bir "". talep desen Programınızın kaynak için son başvuru inmeye başlayınca, GC sonunda ve bu kaynak çalışma yayınlayacak.

Dereler vardırçokrahat tarzı bir program. Bu kabuk borular eğlenceli ve popüler olmasıdır.

Ancak, eğer kaynaklar kısıtlı (yüksek performans senaryoları veya üretim ortamları beklemek ölçek sınırları makine) güvenerek GC temizlemek olabilir yeterli bir garanti.

Bazen ölçülebilirlik artırmak için kaynakları serbest bırakmak için istekli.

Artan işleme vaz sırayla çok fazla kaynak tüketiyor) anlamı olmayan tembel IO için alternatifler nelerdir? İyi, foldl temel işlem, nam-ı diğer iteratees veya sıralayıcısını tarafından girmiştikOleg Kiselyov in the late 2000sağ tabanlı bir dizi projeler popüler oldu bu yana , ve.

Dereler gibi veri işleme yerine, ya da bir büyük parti olarak, biz son kısmını okuyun sonra yerine üzerinde öbek tabanlı katı işleme, kaynak garantili sonuçlandırılması ile soyut. Bu iteratee tabanlı programlama özü, ve çok güzel bir kaynak kısıtlamaları bulunmaktadır.

İteratee tabanlı IO dezavantajı biraz garip bir programlama modeli (olay tabanlı kabaca benzer programlama, ayetler parçacığı tabanlı kontrol güzel) olmasıdır. Kesinlikle gelişmiş bir teknik, herhangi bir programlama dili. Ve programlama problemlerinin büyük çoğunluğu için, tembel IO tamamen tatmin edici. Eğer çok sayıda dosya açma veya birçok yuva konuşurken, ya da başka birçok eşzamanlı kaynakları kullanarak olacak olursa, ancak (ya da memuru) iteratee bir yaklaşım mantıklı olabilir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bucky Roberts

    Bucky Robert

    9 HAZİRAN 2011
  • Kat Krazy

    Kat Krazy

    12 Kasım 2010
  • nigahiga

    nigahiga

    21 Temmuz 2006