parallel-collections

    3熱度

    1回答

    我有一個Iterable需要執行的「工作單元」,沒有特定的順序,並且可以很容易地並行運行而不會相互干擾。 不幸的是,一次運行太多的內​​存將超過我的可用內存,所以我需要確保在任何給定的時間只有少數人同時運行。 在最基本的,我想這種類型簽名的功能: parMap[A, B](xs: Iterator[A], f: A => B, chunkSize: Int): Iterator[B] 使得輸出

    1熱度

    1回答

    val data :Seq[Something] = ... val transformed = data.par.map transform toList val sorted = transformed.sortWith(...) 如何在排序par序列時擺脫toList?

    1熱度

    1回答

    我VS簡單集合斯卡拉上測試並行收集,這裏是我的代碼: def parallelParse() { val adjs = wn.allSynsets(POS.ADJECTIVE).par adjs.foreach(adj => { parse(proc.mkDocument(adj.getGloss)) }) } def se

    2熱度

    1回答

    以下進程函數是我的工作函數。我需要讓它訪問一些創建/獲取成本很高的類。在庫中有沒有針對線程局部變量的標準機制?或者我必須自己編寫一個對象池管理器? object Start extends App { def progress { val current = counter.getAndIncrement if(current % 100 == 0) {

    8熱度

    1回答

    根據平行收藏和互聯網上搜索的文件,並行收集應該與意見的工作,但我不是 coll.par.view.someChainedIterations 和 coll.view.par.someChainedIterations 看來之間的差別清晰像coll.view.par失去了收藏的viewness: scala> val coll = 1 to 3 coll: scala.collection

    0熱度

    1回答

    我有這個數組定義如下 var distinctElementsDefinitionMap: scala.collection.mutable.ArrayBuffer[HashMap[String, Int]] = new scala.collection.mutable.ArrayBuffer[HashMap[String, Int]](300) with scala.collection.mut

    1熱度

    1回答

    我試圖使它可選運行map操作順序或並行,例如使用下面的代碼調用上的並行集合圖: val runParallel = true val theList = List(1,2,3,4,5) (if(runParallel) theList.par else theList) map println //Doesn't run in parallel 什麼我注意到的是「地圖」操作並不像我預期的那

    0熱度

    1回答

    我注意到,自從Scala 2.9。*以來,setMaximumPoolSize方法似乎從ForkJoinPool消失了,它看起來像是我想要的。大多數關於限制Scala平行集合中並行性的討論圍繞着同一個類的setParallelism方法(它也消失了,但對我來說不是那麼嚴重),但在我的情況下,並行任務可以執行外部IO,並且經常會阻止它。 ForkJoinPool然後在這種情況下啓動更多的線程,並有效

    14熱度

    2回答

    是否斯卡拉提供一種方式來執行並行映射操作爲標準語言的一部分? 例如,給定: scala> val a = List((1,2), (3,4), (3,6)) a: List[(Int, Int)] = List((1,2), (3,4), (3,6)) 我可以這樣做: scala> a.map(tup => tup._1 + tup._2) res0: List[Int] = List(3

    0熱度

    1回答

    假設我有一個〜10K元素的數組,我需要處理數組中的所有元素。我想以這種方式處理它們,只有K元素被並行處理。我使用Scala 2.9。我試過平行收集(見下文),但我看到更多比K元素並行處理。 import collection.parallel.ForkJoinTasks.defaultForkJoinPool._ val old = getParallelism setParallelis