轨道
/
Roc
Roc
/
练习
/
并行字母频率
并行字母频率

并行字母频率

中等

说明

使用并行计算统计文本中字母的频率。

并行是指把那些同样可以顺序完成的事情并行地做。一个常见的例子就是统计字母的频率。利用并行计算来算出文本数组中每个字母的总频率。

并行统计字母

统计字母,忽略大小写和非字母字符,并返回一个字典,键为小写字母,值为对应的出现次数。 把字母当作 Unicode 标量值来处理;不需要做 Unicode 规范化。

使用 roc-parallel 平台 提供的pf.Parallel.map!(items, { workers, task }),通过一个纯task函数,把给定的items分发到多个线程(由workers指定)上并行处理。 所有items处理完成后,结果会按输入顺序返回。 你只需要编辑ParallelLetterFrequency.roc。

运行测试

与大多数其他练习不同,本练习使用的是有副作用的函数。 用roc --opt=speed parallel-letter-frequency-test.roc来运行测试,而不是roc test。 Roc 代码返回的任何错误都会由平台以与平时不同的格式报告出来。

你也可以看看 bank-account 练习,它探讨了并发的另一个侧面:如何安全地把更新应用到共享状态。

通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Roc Exercism

准备好开始 并行字母频率 了吗?

注册 Exercism,借助 139 个练习 和真人导师指导,学习并掌握 Roc,全部免费。

深入探索 并行字母频率!

我们探讨并发与并行之间的区别,并看看 JavaScript、Go、Elixir 和 Rust 等语言采用的不同做法。