Scala Map -> Reduce 与 FoldRight

Scala Map -> Reduce vs. FoldRight

我对下面两个进行了计时,看起来它们都花费了相同的时间。使用另一个有什么好处吗?

(1 to 24).foldRight(List[Int]())((i, l) => l ::: generateList(signs, i))

对比

(1 to 24).map(i => generateList(signs, i)).reduce(_ ::: _)

p.s。在我的用例中,顺序无关紧要。

foldRight 按顺序运行,map 是(理论上)可并行化的,因为它的顺序未定义。我不相信它在当前的 Scala 运行时是并行的——只是它可能在未来或在不同的平台上。