فراوانی حروف را در متنها با استفاده از محاسبات موازی بشمارید.
موازیسازی یعنی کارهایی را بهصورت موازی انجام دهیم که میتوان آنها را بهصورت متوالی هم انجام داد. یک مثال رایج، شمردن فراوانی حروف است.
برای محاسبهی فراوانی کل هر حرف در فهرستی از متنها، از موازیسازی استفاده کنید.
کد شما باید یک تابع frequency :: Int -> [Text] -> Map Char Int داشته باشد که تعداد کارگرها برای اجرای موازی و فهرستی از متنها را میگیرد و فراوانی کل هر حرف را در متن برمیگرداند.
با اجرای بنچمارک بررسی کنید که تغییر تعداد کارگرها چه تأثیری بر عملکرد راهحل شما دارد. برای اجرای آن از stack bench استفاده کنید. با خیال راحت bench/Benchmark.hs را تغییر دهید تا عملکرد راهحل خود را روی ورودیهای مختلف بررسی کنید.
در Exercism ثبتنام کنید تا Haskell را همراه با 107 تمرین و مربیگری انسانی واقعی یاد بگیرید و در آن استاد شوید، همهی اینها رایگان.
ما تفاوتهای میان همروندی و موازیسازی را بررسی میکنیم و به رویکردهای متفاوتی که زبانهایی مانند JavaScript، Go، Elixir و Rust در پیش میگیرند نگاه میکنیم.