使用X.par.view和X.view.par构建Scala并行视图?

根据关于并行收集和在互联网上搜索的论文,并行集合应该与视图一起工作,但我不清楚它们之间的区别

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,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,3)

但我不知道为什么.它是一个功能还是一个bug?

解决方法

这可能是疏忽,应该修复.

顺序视图上的par可以通过调用底层集合上的par来实现,这将导致一系列递归par调用,直到底层是最初从视图获取的严格集合.如果该集合可以有效地转换为其相应的并行集合,则可以有效地构建新获得的并行视图(参见here).

相关文章

共收录Twitter的14款开源软件,第1页Twitter的Emoji表情 Tw...
Java和Scala中关于==的区别Java:==比较两个变量本身的值,即...
本篇内容主要讲解“Scala怎么使用”,感兴趣的朋友不妨来看看...
这篇文章主要介绍“Scala是一种什么语言”,在日常操作中,相...
这篇文章主要介绍“Scala Trait怎么使用”,在日常操作中,相...
这篇文章主要介绍“Scala类型检查与模式匹配怎么使用”,在日...