Scala对于理解性能的比较

时间:2014-06-04 21:40:12

标签: performance scala for-loop

给出两个具有相同语义但不同声明的理解,以说明它考虑

for ( i <- 1 to n ) yield { if (i % 2 == 0) 0 else 1 }

for { i <- 1 to n
      m = if (i % 2 == 0) 0 else 1 
    } yield m

哪个声明证明效率更高,或者尽管有if-else表达式声明,是否没有显着的性能差异?

1 个答案:

答案 0 :(得分:2)

它们完全相同,都转化为:

(1 to n).map{i => if (i % 2 == 0) 0 else 1}
for-comprehension只是地图的语法糖