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,创建并行集合部分. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |