Trilhas
/
Roc
Roc
/
Exercícios
/
Frequência de Letras em Paralelo
Frequência de Letras em Paralelo

Frequência de Letras em Paralelo

Médio

Instruções

Conte a frequência das letras em textos usando computação paralela.

O paralelismo consiste em fazer em paralelo coisas que também podem ser feitas de forma sequencial. Um exemplo comum é contar a frequência das letras. Use o paralelismo para calcular a frequência total de cada letra em uma lista de textos.

Contando letras em paralelo

Conte as letras, ignorando maiúsculas e minúsculas e caracteres que não sejam letras, e retorne um dicionário que mapeia cada letra minúscula para a sua contagem. Trate as letras como valores escalares Unicode; não é preciso fazer normalização Unicode.

Use pf.Parallel.map!(items, { workers, task }) da plataforma roc-parallel para processar os items fornecidos usando uma função task pura, em paralelo, em várias threads (indicadas por workers). Os resultados são retornados na ordem de entrada depois que todos os itens forem processados. Você só precisa editar ParallelLetterFrequency.roc.

Executando os testes

Diferente da maioria dos outros exercícios, este exercício usa funções com efeitos. Execute os testes com roc --opt=speed parallel-letter-frequency-test.roc, em vez de roc test. Qualquer erro retornado pelo código Roc é reportado pela plataforma, num formato diferente do habitual.

Você também pode querer dar uma olhada no exercício bank-account, que explora um outro lado da concorrência: aplicar atualizações com segurança a um estado compartilhado.

Editar via GitHub O link abre em uma nova janela ou aba
Roc Exercism

Tudo pronto para começar Frequência de Letras em Paralelo?

Crie sua conta no Exercism para aprender e dominar Roc com 139 exercícios e mentoria humana de verdade, tudo de graça.

Mergulho profundo em Frequência de Letras em Paralelo!

Exploramos as diferenças entre concorrência e paralelismo, vendo as diferentes abordagens adotadas por linguagens como JavaScript, Go, Elixir e Rust.