並列コレクションを少しテストしたかったので、次のコード行を (REPL で) 使用しました。
(1 to 100000).par.filter(BigInt(_).isProbablePrime(100))
に対して:
(1 to 100000).filter(BigInt(_).isProbablePrime(100))
ただし、並列バージョンは高速ではありません。実際、それは少し遅くさえ感じます (しかし、私は実際にそれを測定していません)。
誰かがそれについて説明していますか?
編集 1: はい、マルチコア プロセッサを使用しています
編集 2: OK、私は自分で問題を「解決」しました。の実装がisProbablePrime
問題であり、並列コレクションではないようです。素数性をテストする別の関数に置き換えisProbablePrime
たところ、期待どおりのスピードアップが得られました。