soc*_*soc 5 parallel-processing scala language-design scala-collections
起初我假设每个集合类都会收到一个额外的par方法,它将集合转换为适合的并行数据结构(比如map返回Scala 2.8中元素类型的最佳集合).
目前看来,一些集合类支持par方法(如数组),但其他人toParSeq,toParIterable方法(如表).这有点奇怪,因为经常不使用或推荐Array.
这是什么原因?par在所有收集课上做"正确的事" 是不是更好?
如果我有可能并行处理的数据,我应该使用哪些类型?scala.collection直接实现的特征或类型?
或者我Arrays现在应该更喜欢,因为它们似乎更便宜并行化?
列表不太适合并行处理.原因是要到达列表的末尾,您必须遍历每个元素.因此,您也可以将列表视为迭代器,因此也可以使用更通用的内容toParIterable.
任何具有快速索引的集合都是并行处理的良好候选者.这包括任何实现LinearSeqOptimized,加上树和哈希表. Array具有尽可能快的索引,所以这是一个相当自然的选择.你也可以使用像ArrayBuffer(有一个par方法返回a ParArray)的东西.
| 归档时间: |
|
| 查看次数: |
633 次 |
| 最近记录: |