gpt4 book ai didi

scala - Scala 中的并行迭代器

转载 作者:行者123 更新时间:2023-12-03 22:31:31 26 4
gpt4 key购买 nike

是否有可能使用 Scala 的并行集合来并行化 Iterator没有事先完全评估它?

我在这里谈论的是在 Iterator 上并行化函数转换,即 mapflatMap .
我认为这需要评估 Iterator 的一些元素。提前,然后计算更多,一旦通过 next 消耗了一些.

我所能找到的只是需要将迭代器转换为 IterableStream最好。 Stream然后当我调用 .par 时得到完全评估在上面。

如果这不是现成的,我也欢迎实现建议。实现应该支持并行 mapflatMap .

最佳答案

我意识到这是一个老问题,但是 ParIteratoriterata 中实现图书馆做你在找什么?

scala> import com.timgroup.iterata.ParIterator.Implicits._
scala> val it = (1 to 100000).toIterator.par().map(n => (n + 1, Thread.currentThread.getId))
scala> it.map(_._2).toSet.size
res2: Int = 8 // addition was distributed over 8 threads

关于scala - Scala 中的并行迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17178201/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com