作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
根据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/
我需要用这样的数据构建一个表: ┌────────┬───────────┬────────┐ │ ID │ Name │ Age │ ├────
我是一名优秀的程序员,十分优秀!