微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用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).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐