SORU
12 AĞUSTOS 2015, ÇARŞAMBA


Nasıl atom DZD'In thunk?

Nasıl DZD birden çok iş parçacığı (ya da açık bir iş parçacığı veya değerlendirmek sparks iç olanlar) tarafından erişilen thunk ele? Birden çok iş parçacığı aynı thunk, iş çoğaltarak değerlendirmek olabilir? Ya da, eğer thunk, nasıl eşitlenir, böylece performans acı değil mi?

CEVAP
12 AĞUSTOS 2015, ÇARŞAMBA


the blog post @bağlantılı, GHC Commentary GHC User's Guide Lambdageek ben aşağıdaki parça bir arada:

DZD tekrar gözden thunk önlemek için çalışır, ama doğru iş arasında kilitleme pahalı ve thunk genellikle saf ve yeniden değerlendirmek için çok zararsız olduğu için, normalde öyle bir baştan savma bir şekilde yaparküçükİş Yükü çoğaltarak şans.

Önleme çalışmaları için kullandığı yöntem thunk bir değiştirmektirkara delikthunk değerlendirilen diğer konular (veya bazen , başlığın; <<loop>> algılama budur) söyleyen özel bir kalem.

Bu verilen en az üç seçenek vardır:

  • Varsayılan olarak kullanır "tembel blackholing bu konu duraklama önce yapılır.", O zaman "yürüyen" bir yığın oluşturur ve "gerçek" blackholes için yeni thunk, kullanarak kilitleme sağlamak için her thunk sadece alır bir iş parçacığı blackholing ve iptal kendi değerlendirmesine saptadığı başka bir iş parçacığı zaten blackholed bir thunk. Bu tamamen iki duraklar arasında sığacak kadar kısa olan thunk dikkate almak gerekmez olarak daha ucuz.

  • ** 6, blackholes bir thunk değerlendirmek başlar başlamaz oluşturulur yerine ve Kullanım Kılavuzu eğer paralellik bir sürü yapıyor iseniz bu önerir. Ancak, çünkü kilitleme her thunk olurdu çok pahalı, bu blackholes daha ucuzdur "hevesli" olanlar, değil eşitlenir, diğer iş parçacıkları (her ne kadar başka bir iş parçacığı hala görüyor Eğer yoksa bir yarış durumu). Sadece iplik duraklar bu haline getir "" blackholes. doğru yapın

  • Blog yazısı hakkında özellikle üçüncü bir durum,, unsafePerformIO gibi özel işlevler için kullanılırzararlıbir thunk bir kez daha değerlendirmek için. Bu durumda, iş parçacığı "gerçek" gerçek kilitleme ile kara delik, ama hemen yaratır, gerçek değerlendirmeden önce yapay iplik bir duraklama ekleyerek. bir kullanır

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Evan Coury

    Evan Coury

    29 NİSAN 2007
  • jocc talking shit

    jocc talking

    6 NİSAN 2007
  • Troy Hunt

    Troy Hunt

    29 EYLÜL 2011