0
假設我有一個〜10K元素的數組,我需要處理數組中的所有元素。我想以這種方式處理它們,只有K
元素被並行處理。我使用Scala 2.9
。我試過平行收集(見下文),但我看到更多比K
元素並行處理。Scala中的並行處理2.9
import collection.parallel.ForkJoinTasks.defaultForkJoinPool._ val old = getParallelism setParallelism(K) val result = myArray.par.map(...) // process the array in parallel setParallelism(old)
你會如何建議過程中Scala 2.9
只K
元素並行處理這樣的陣列?
謝謝。你能否詳細說一下使用'view'? – Michael
觀點背後的想法是推遲評估中間集合,否則將使用'take','map'或'filter'在內存中創建集合,直到集合被強制執行爲止。由於某些抽象懲罰和間接指導,這可能會或可能不會提高性能,具體取決於轉換的內容。你可以在這裏閱讀更多關於它的內容:http://docs.scala-lang.org/overviews/collections/views.html – axel22