Conta la frequenza delle lettere nei testi usando il calcolo parallelo.
Il parallelismo consiste nel fare in parallelo cose che si possono fare anche in sequenza. Un esempio comune è contare la frequenza delle lettere. Usa il parallelismo per calcolare la frequenza totale di ogni lettera in un elenco di testi.
Il tuo codice dovrebbe contenere una funzione frequency :: Int -> [Text] -> Map Char Int che accetta un numero di worker da usare in parallelo e un array di testi, e restituisce la frequenza totale di ogni lettera nel testo.
Scopri come cambiare il numero di worker influisce sulle prestazioni della soluzione eseguendo il benchmark. Per eseguirlo, usa stack bench. Sentiti libero di modificare bench/Benchmark.hs per esplorare le prestazioni della soluzione con input diversi.
Iscriviti a Exercism per imparare e padroneggiare Haskell con 107 esercizi e il mentoring di persone reali, tutto gratis.
Esploriamo le differenze tra concorrenza e parallelismo, esaminando i diversi approcci adottati da linguaggi come JavaScript, Go, Elixir e Rust.