Parcours
/
Scala
Scala
/
Exercices
/
Fréquence des lettres en parallèle
Fréquence des lettres en parallèle

Fréquence des lettres en parallèle

Moyen

Instructions

Compte la fréquence des lettres dans des textes en utilisant le calcul parallèle.

Le parallélisme consiste à faire en parallèle des choses qui peuvent aussi être faites de manière séquentielle. Un exemple courant est le comptage de la fréquence des lettres. Utilise le parallélisme pour calculer la fréquence totale de chaque lettre dans un tableau de textes.

Instructions spécifiques au parcours

D'après cette terminologie, tu devrais écrire un programme parallèle et déterministe et (surtout !) laisser Scala gérer l'aspect concurrence. Sinon, ton code pourrait vite devenir brouillon et propice aux erreurs, avec toutes sortes de sales bugs de concurrence. En particulier, ton programme pourrait devenir non déterministe, ce qui signifie en pratique : très (en fait, TRÈS) difficile à déboguer, à tester et à analyser.

Cela dit, ce serait sans doute une bonne idée d'écrire d'abord une solution séquentielle (et d'utiliser la suite de tests pour la vérifier). C'est seulement ensuite que tu devrais essayer de la paralléliser, en gardant les parties séquentielles et parallèles de ton code aussi séparées que possible.

Une première itération pourrait consister à utiliser les collections parallèles de Scala. Tu trouveras peut-être que c'est presque trop simple (surtout si tu as suivi nos conseils et que tu as déjà une solution séquentielle).

Pour la deuxième itération, on te recommande d'essayer une solution avec scala.concurrent.Future. Tu peux consulter ce tutoriel et sa suite pour t'aider. Assure-toi que

  • tu n'as qu'un seul appel bloquant pour attendre le résultat,
  • qu'il se trouve tout à la fin de ton programme, et
  • qu'il dispose d'un délai d'attente.

scala.concurrent.Future est utilisé dans de nombreuses bibliothèques et c'est la recommandation du docteur pour la programmation parallèle et asynchrone en Scala. C'est donc essentiel pour maîtriser le langage, et cela devrait faire partie de ton arsenal Scala.

Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Scala Exercism

Prêt à commencer Fréquence des lettres en parallèle ?

Inscris-toi sur Exercism pour apprendre et maîtriser Scala avec 95 exercices, et un vrai mentorat humain, le tout gratuitement.

Analyse approfondie de Fréquence des lettres en parallèle !

On explore les différences entre concurrence et parallélisme, en examinant les différentes approches adoptées par des langages comme JavaScript, Go, Elixir et Rust.