gpt4 book ai didi

scala - 与从头开始创建顺序集合相比,将顺序集合转换为并行集合的成本是多少

转载 作者:行者123 更新时间:2023-12-02 04:52:26 25 4
gpt4 key购买 nike

根据to the official docs有两种创建并行集合的选项:

1)

// There's a little bug here, doesn't matter for the sake of the question
import scala.collection.parallel.mutable.ParArray
val pv = new ParVector[Int]

2)

val pv = Vector(1,2,3,4,5,6,7,8,9).par

现在,有什么区别?当我从简单的顺序集合转换它时,是否存在任何性能损失?

如果您必须创建一个有点并行的集合(例如,数千个元素),您会怎么做?您会从头开始创建它还是转换它?

谢谢大家!

编辑:

正如 @oxbow_lakes 所说,有一篇文档专注于这个主题,但我正在尝试获得“有经验的建议”。我的意思是,例如,如果您必须从数据库中读取一个大集合,您会怎么做。

最佳答案

取决于集合。 Vector 基本上是免费的,ParVector 只是向量的包装。与数组相同。其他的,例如List,必须以不同的结构完全复制,更适合并行性。如果您希望结果也是列表,然后复制回新列表。

您可以看看this brand new guide on the scala documentation site ,创建并行集合部分。

关于scala - 与从头开始创建顺序集合相比,将顺序集合转换为并行集合的成本是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10004615/

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