【发布时间】:2017-05-28 20:32:36
【问题描述】:
我尝试将惰性集合和并行集合的优点结合起来,如下所示:
Vector( /* some values....*/ ).par.view - 它提供了巨大的性能提升。但 Scala 2.12 将该方法标记为 ParSeqLike 已弃用。懒惰地使用 Parallel Collection 有什么问题?哪里有替代品?
【问题讨论】:
-
看起来在 2.10 中是可行的。虽然在 2.11 中这个能力被移除了。 github.com/scala/scala/commit/… 看来这是朝着简化收集迈出的一步。
-
顺便说一句,Vector(...).par.view 现在在功能上与 Vector(...).view 相同。所以避免使用它。我想不出任何简单的方法来解决这个问题。看来你现在必须选择视图或标准。您可以手动 group() 您的集合并在每个块上使用 par 以节省中间对象的内存,但它有点 hacky。
-
@BruceLowe,工作表对此案例显示不同的签名。
标签: scala parallel-processing lazy-evaluation lazy-sequences