8

並列コレクションの論文によると、インターネット上で検索、並列コレクションがビューで動作するようになっているが、私はそれはそうX.par.viewとX.view.parを使ってScalaの並列ビューを作成するには?

coll.par.view.someChainedIterations 

coll.view.par.someChainedIterations 

との差に明確ではありませんよcoll.view.parのようなコレクションのviewness失い:

scala> val coll = 1 to 3 
coll: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3) 

scala> coll.view.par 
res2: scala.collection.parallel.ParSeq[Int] = ParArray(1, 2, 3) 

scala> coll.par.view 
res3: java.lang.Object with scala.collection.parallel.ParSeqView[Int,scala.collection.parallel.immutable.ParSeq[Int],scala.collection.immutable.Seq[Int]] = $anon$1(1, 2, 3) 

を私は理由を知りません。それは機能かバグですか?

答えて

4

これはおそらく監視であり、修正する必要があります。

シーケンシャルビューのparunderlyingビューが最初から得られた厳密収集されるまで、再帰par呼び出しの連鎖につながるunderlyingコレクションにparを呼び出すことによって実現することができます。このコレクションを対応するパラレルコレクションに効率的に変換できる場合は、新しく取得したパラレルビューを効率的に構築できます(hereを参照)。

関連する問題