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.
Para construir um programa concorrente/paralelo em Crystal, este recurso pode ser-te útil. No Crystal 1.19 foi adicionada uma nova biblioteca Sync, que acrescenta várias primitivas para facilitar a criação de programas concorrentes/paralelos de alto desempenho.
O ambiente online deste exercício é um pouco diferente do da maioria dos outros exercícios. Em vez de compilar o Crystal para um binário de thread única, este exercício usa as capacidades experimentais de multithreading do Crystal. Por isso, a execução pode comportar-se de forma diferente do esperado em alguns ambientes.
Para desenvolvimento local, recomenda-se que tenhas instalada a versão 1.19.0 ou posterior do Crystal e que acrescentes a flag -Dpreview_mt ao compilar ou correr o teu código, para ativares o suporte de multithreading.
Inscreve-te no Exercism para aprenderes e dominares Crystal com 26 conceitos142 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.