我试图使用范围来实现迭代算法。它运行良好,所以我试图使用par方法进行并行处理,并抛出了java.lang.OutOfMemoryError:Java堆空间。我发现ParRange在构造函数中分配了很多内存。这是ParRange的正确行为吗?我希望它的行为与Range相似,只在需要时才分配数据。Scala ParRange内存消耗
您可以轻松地重现:
scala> collection.parallel.immutable.ParRange(1, 50000000, 1, true) java.lang.OutOfMemoryError: Java heap space