![](/img/trans.png)
[英]Why are Scala “for loop comprehensions” so very slow compared to FOR loops?
[英]Scala for comprehensions performance compared
給定兩個具有相同語義但聲明不同的理解,為說明起見,
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 to n).map{i => if (i % 2 == 0) 0 else 1}
單一的理解只是一張地圖的語法糖
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.