Порахуйте частоту літер у текстах за допомогою паралельних обчислень.
Паралелізм полягає в тому, щоб виконувати паралельно те, що також можна виконати послідовно. Поширений приклад - підрахунок частоти літер. Застосуйте паралелізм, щоб обчислити загальну частоту кожної літери в масиві текстів.
Для створення конкурентної/паралельної програми на Crystal цей ресурс може стати в пригоді. У Crystal 1.19 додали нову бібліотеку Sync, яка додає кілька примітивів, що полегшують створення високопродуктивних конкурентних/паралельних програм.
Онлайн-середовище для цієї вправи трохи відрізняється від більшості інших вправ. Замість компіляції Crystal в однопотоковий бінарний файл ця вправа використовує експериментальні можливості багатопоточності Crystal. Тож у деяких середовищах виконання може поводитися інакше, ніж очікується.
Для локальної розробки рекомендуємо мати встановлений Crystal версії 1.19.0 або новішої та додавати прапорець -Dpreview_mt під час компіляції або запуску коду, щоб увімкнути підтримку багатопоточності.
Зареєструйтеся на Exercism, щоб вивчати й опановувати Crystal, а також 26 концепцій142 вправи та справжнє наставництво від людей, і все це безкоштовно.
Ми дослідимо різницю між конкурентністю і паралелізмом, розглянувши різні підходи, які застосовують такі мови, як JavaScript, Go, Elixir і Rust.