Conta a frequência das letras em textos recorrendo a computação paralela.
O paralelismo consiste em fazer em paralelo coisas que também podem ser feitas sequencialmente. Um exemplo comum é contar a frequência de letras. Usa o paralelismo para calcular a frequência total de cada letra numa lista de textos.
O teu código deve conter uma função frequency :: Int -> [Text] -> Map Char Int que recebe um número de trabalhadores a usar em paralelo e uma lista de textos, e devolve a frequência total de cada letra no texto.
Verifica como a alteração do número de trabalhadores afeta o desempenho da tua solução,
correndo o benchmark. Usa stack bench para o correr. Não hesites em modificar
bench/Benchmark.hs para explorar o desempenho da tua solução com dados de entrada
diferentes.
Inscreve-te no Exercism para aprenderes e dominares Haskell com 107 exercícios, e mentoria humana real, tudo grátis.
Exploramos as diferenças entre concorrência e paralelismo, analisando as diferentes abordagens adotadas por linguagens como JavaScript, Go, Elixir e Rust.