Порахуйте частоту літер у текстах за допомогою паралельних обчислень.
Паралелізм полягає в тому, щоб виконувати паралельно те, що також можна виконати послідовно. Поширений приклад - підрахунок частоти літер. Застосуйте паралелізм, щоб обчислити загальну частоту кожної літери в масиві текстів.
Код має містити функцію frequency :: Int -> [Text] -> Map Char Int, яка приймає кількість воркерів для паралельної роботи та масив текстів і повертає загальну частоту кожної літери в тексті.
Перевірте, як зміна кількості воркерів впливає на швидкодію рішення, запустивши бенчмарк. Для запуску використайте stack bench. Сміливо змінюйте bench/Benchmark.hs, щоб дослідити швидкодію рішення на різних вхідних даних.
Зареєструйтеся на Exercism, щоб вивчати й опановувати Haskell, а також 107 вправ та справжнє наставництво від людей, і все це безкоштовно.
Ми дослідимо різницю між конкурентністю і паралелізмом, розглянувши різні підходи, які застосовують такі мови, як JavaScript, Go, Elixir і Rust.