8

根据关于并行集合和互联网搜索的论文,并行集合应该与视图一起使用,但我不清楚两者之间的区别

coll.par.view.someChainedIterations

coll.view.par.someChainedIterations

似乎coll.view.par失去了收藏的视野:

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

1 回答 1

4

这可能是一个疏忽,应该修复。

paron 顺序视图可以通过调用 on 集合来实现,parunderlying将导致一连串的递归par调用,直到underlying是最初从中获取视图的严格集合。如果这个集合可以高效地转化为对应的并行集合,那么新获得的并行视图就可以高效地构建(见这里)。

于 2013-02-28T19:35:47.693 回答