我有这个代码:
var nodeMap:Map[Int, List[Node]] = Map[Int, List[Node]]()
nodeMap = Map[Int, List[Node]]() ++ nodes.par.groupBy( x => x.getClosest(centers))
Run Code Online (Sandbox Code Playgroud)
x.getClosest返回一个Int.当我去编译它时,编译器崩溃说它没有内存.但是,当我这样做时:
var nodeMap:Map[Int, List[Node]] = Map[Int, List[Node]]()
nodeMap = nodes.groupBy( x => x.getClosest(centers))
Run Code Online (Sandbox Code Playgroud)
它工作正常.
为什么?
Scala编译器在复杂表达式方面存在一些问题; 如果你的内存不合适(即OutOfMemoryException)它可能是一个bug,但更常见的情况是编译器耗尽堆栈空间,在这种情况下你可以添加标志-Xss=256m(数字显然取决于你)解决问题.这在复杂表达式(例如字符串和列表连接)中尤为常见.
| 归档时间: |
|
| 查看次数: |
170 次 |
| 最近记录: |