使用平行運算計算多段文字中字母出現的頻率。
平行運算的重點,在於把那些也能循序完成的工作改成同時進行。 常見的例子就是計算字母出現的頻率。 請運用平行運算,計算由多段文字組成的陣列中,每個字母的總出現頻率。
計算字母的數量,忽略大小寫與非字母的字元,並回傳一個把小寫字母對應到其數量的字典。 把字母視為 Unicode 純量值;不需要 Unicode 正規化。
使用roc-parallel 平台的pf.Parallel.map!(items, { workers, task }),以純task函式平行處理給定的items,透過多個執行緒(由workers指定)同時進行。
所有項目處理完畢後,結果會依輸入順序回傳。
你只需要編輯ParallelLetterFrequency.roc。
與大多數其他練習不同,這個練習使用具有作用的函式。
請用roc --opt=speed parallel-letter-frequency-test.roc執行測試,而不是roc test。
Roc 程式碼回傳的任何錯誤都會由平台以和平常不同的格式回報。
你也可以去看看bank-account練習,它探討了並行的另一個面向:安全地將更新套用到共享狀態。