加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 将顺序集合转换为并行集合的成本是多少,而不是从头开始

发布时间:2020-12-16 18:11:23 所属栏目:安全 来源:网络整理
导读:根据 to the official docs,有两个选项可以创建并行集合: 1) // There's a little bug here,doesn't matter for the sake of the questionimport scala.collection.parallel.mutable.ParArrayval pv = new ParVector[Int] 2) val pv = Vector(1,2,3,4,5,6,7
根据 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,创建并行集合部分.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读