這需要1秒左右爲什麼Scala並行集合有時會導致OutOfMemoryError?
(1 to 1000000).map(_+3)
雖然這爲java.lang.OutOfMemoryError:Java堆空間
(1 to 1000000).par.map(_+3)
編輯:
我有標準2.9.2階組態。我在scala提示符下輸入這個。在bash中我可以看到[-n「$ JAVA_OPTS」] || JAVA_OPTS =「 - Xmx256M -Xms32M」
而我沒有在我的環境中設置JAVA_OPTS。
百萬整數= 8MB, 創建列表兩次= 16MB
你可以在這裏添加一些細節嗎?你有多少內存啓動你的JVM,還有其他交換機?你在REPL中運行它還是編譯它?如果你從REPL運行這個命令,你之前執行過多少條指令?我只是在我的REPL中嘗試過,並且在沒有OOM的情況下執行了它10次。 – drexin
在我的REPEL中工作得很好。 – Jan
@Jan對我來說,它在REPL中工作得很好,但只是第一次... – Christian