فراوانی حروف را در متنها با استفاده از محاسبات موازی بشمارید.
موازیسازی یعنی کارهایی را بهصورت موازی انجام دهیم که میتوان آنها را بهصورت متوالی هم انجام داد. یک مثال رایج، شمردن فراوانی حروف است.
برای محاسبهی فراوانی کل هر حرف در فهرستی از متنها، از موازیسازی استفاده کنید.
اگر این تمرین را روی سیستم خودتان حل میکنید، فایلی به نام parallel_letter_frequency_benchmark_test.rb همراه آن هست که راهحل موازی شما را با یک راهحل ترتیبی مقایسه میکند.
میتوانید آن را با دستور ruby parallel_letter_frequency_benchmark_test.rb اجرا کنید.
خروجی، زمان اجرای هر پیادهسازی را برای طیفی از تعداد متنهای بزرگ، بهصورت جدولی نشان میدهد.
راحت باشید و موارد تست را تغییر دهید.
شاید بخواهید بررسی کنید که تأثیر طول متن در مقابل تعداد متنها بر زمان اجرای هر پیادهسازی چیست.
نکته: برای مجموعههای کوچکتر متن، ممکن است شمارش ترتیبی بهدلیل هزینههای سربار پردازش سریعتر باشد.
در Exercism ثبتنام کنید تا Ruby را همراه با 21 مفهوم121 تمرین و مربیگری انسانی واقعی یاد بگیرید و در آن استاد شوید، همهی اینها رایگان.
ما تفاوتهای میان همروندی و موازیسازی را بررسی میکنیم و به رویکردهای متفاوتی که زبانهایی مانند JavaScript، Go، Elixir و Rust در پیش میگیرند نگاه میکنیم.