根据关于并行收集和在互联网上搜索的论文,并行收集应该与视图一起工作,但我不清楚两者之间的区别
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)但我不知道为什么。这是一个特性还是一个bug?
发布于 2013-03-01 03:35:48
这可能是一个疏忽,应该被修复。
顺序视图上的par可以通过调用underlying集合上的par来实现,这将导致一系列递归par调用链,直到underlying成为最初从中获取视图的严格集合。如果这个集合可以有效地转换为它对应的并行集合,那么新获得的并行视图就可以有效地构造出来(参见here)。
https://stackoverflow.com/questions/15143326
复制相似问题