溪流是理想的吗?

时间:2014-06-17 20:29:08

标签: scala scala-collections

scala中的Streams似乎是列表的完美替代品。它们支持几乎所有主要功能,并且评估速度更快。那么为什么人们会选择回到列表呢?是否存在列表运行速度更快的特殊情况?是否存在流不运行和列表的情况?

2 个答案:

答案 0 :(得分:2)

似乎Streams have a larger memory footprint.听起来像是保留了额外的数据缓存来执行更快的评估。

另外,一个很好的参考:Stream vs Views vs Iterators

答案 1 :(得分:1)

对于this question about avoiding unnecessary computation,我制作了一些benchmarks。在所有答案中,流到目前为止表现最差:比Iterator慢8倍,比下一个最慢的答案慢2倍。 Streams似乎增加了很多开销。