Scala 2.9引入了并行集合,它们对某些任务来说是非常好的工具。然而,它们的内部工作原理是什么,我能够影响其行为/配置吗?
它们使用什么方法来确定最佳线程数?如果我不满意结果,是否有任何配置参数可以调整?
我不仅对实际创建的线程数量感兴趣,还对实际工作在这些线程之间如何分配感兴趣。结果如何收集以及幕后发生了多少魔术。Scala是否会测试集合是否足够大以从并行处理中受益?
Scala 2.9引入了并行集合,它们对某些任务来说是非常好的工具。然而,它们的内部工作原理是什么,我能够影响其行为/配置吗?
它们使用什么方法来确定最佳线程数?如果我不满意结果,是否有任何配置参数可以调整?
我不仅对实际创建的线程数量感兴趣,还对实际工作在这些线程之间如何分配感兴趣。结果如何收集以及幕后发生了多少魔术。Scala是否会测试集合是否足够大以从并行处理中受益?
List
用法的可并行性,并采取了测量措施,显示大多数List大小在1-5元素之间。这意味着在代码中将List
替换为ParSeq
就没有任何意义。 - oxbow_lakesparIfLargerThan(N:Int)
函数将是很棒的。它只会在集合大小大于 N(在运行时)时并行化。 - HRJ