我只是想稍微测试一下并行集合,我使用了以下代码行(在 REPL 中):
(1 to 100000).par.filter(BigInt(_).isProbablePrime(100))
反对:
(1 to 100000).filter(BigInt(_).isProbablePrime(100))
但并行版本并不快。事实上,它甚至感觉有点慢(但我还没有真正测量过)。
有人对此有解释吗?
编辑 1:是的,我有一个多核处理器
编辑2:好的,我自己“解决”了这个问题。的实现isProbablePrime
似乎是问题所在,而不是并行集合。我替换isProbablePrime
了另一个函数来测试素数,现在我得到了预期的加速。