2
下面的代码提取几乎永远:了解斯卡拉集合执行
val r =(1 to 10000)
.map(_ => Seq.fill(10000)(0.0))
.map(_.size)
.sum
虽然这是非常快:
val r =(1 to 10000)
.map(_ => Seq.fill(10000)(0.0).size)
.sum
这是为什么?我不会放弃理解执行语句的顺序。在第一种情况下,首先创建大小10000的10000 Seqs,然后将所有这些大小映射为?或者是每个Seq单独映射到大小(并因此被垃圾收集)?