Şimdi birkaç kez karşılaştığım bir desen, üzerinde bir test eşleştirerek ve öğelerin herhangi birinin veya tamamının geçip geçmediğini görerek bir değer listesinin kontrol edilmesi gereken modeldir. Tipik çözüm sadece kullanışlı dahili ins kullanmaktır all
ve any
.
Sorun, bunların seri olarak değerlendirilmesi. Birçok durumda, herhangi bir iş parçacığı için bir "Yanlış" veya "Doğru" bulduktan sonra işlemin tamamlanmasına paralel olarak değerlendirmek çok daha hızlı olacaktır . İşlemler arası iletişim gerektirdiğinden ve Control.Concurrent'ı henüz uygulamak için yeterince yakın bir yerde anlamadığım için kısa devre davranışının Control.Parallel kullanılarak uygulanamayacağından eminim.all
any
Matematikte oldukça yaygın bir örüntüdür (örneğin Miller-Rabin Primality) Bu yüzden birisi muhtemelen bunun için bir çözüm bulmuş gibi hissediyorum, ancak bariz nedenlerden dolayı "paralel veya / ve / / herhangi bir / listede herhangi bir google araması yapmak haskell "birçok alakalı sonuç döndürmez.
unamb
kütüphane ile mümkündür
pthreads
Haskell'de C veya yeşil iş parçacıkları olsun) Eşzamanlı web isteklerini işlemek için birden çok web sunucusu başlatmazsınız, bunun yerine tek bir işlemde birden çok iş parçacığı çalıştırırsınız! Aynı şey paralellik için de geçerlidir. CPU'larınız kadar çok iş parçacığını döndürür ve işinizi eşit olarak böldüğünüzde, CPU'ya bağlı görevlerle ilgilenirsiniz. Kendinizi ikna etmek için bu kütüphaneyi deneyin github.com/lehins/haskell-scheduler