Zähle die Häufigkeit der Buchstaben in Texten mithilfe paralleler Berechnung.
Bei Parallelität geht es darum, Dinge parallel zu erledigen, die man auch nacheinander erledigen kann. Ein häufiges Beispiel ist das Zählen der Buchstabenhäufigkeit. Nutze die Parallelität, um die Gesamthäufigkeit jedes Buchstabens in einer Liste von Texten zu berechnen.
Dein Code sollte eine Funktion frequency :: Int -> [Text] -> Map Char Int enthalten, die eine Anzahl von Workern für die parallele Verarbeitung sowie eine Liste von Texten entgegennimmt und die Gesamthäufigkeit jedes Buchstabens im Text zurückgibt.
Finde heraus, wie sich eine geänderte Anzahl von Workern auf die Performance deiner Lösung auswirkt, indem du den Benchmark ausführst. Verwende stack bench, um ihn auszuführen. Du kannst bench/Benchmark.hs gerne anpassen, um die Performance deiner Lösung mit verschiedenen Eingaben zu untersuchen.
Melde dich bei Exercism an, um Haskell mit 107 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.
Wir schauen uns die Unterschiede zwischen Nebenläufigkeit und Parallelität an und betrachten verschiedene Ansätze, die Sprachen wie JavaScript, Go, Elixir und Rust wählen.