これが重複している場合はお詫びします - いくつか検索しましたが、必要なものが見つかりませんでした。
受信データの Play 2.0 Enumerator
( と考えることができます) を(または類似の) に変換するアプリケーションのパフォーマンスが重要な部分があります。メソッドを使用しますが、問題は、それを行う最もパフォーマンスの高い方法は何かということです。(コードでは代わりに使用しますが、考え方は同じです。)Stream
List
fold
Enumerator
Stream
Enumerator
val incoming: Stream[Int] = ???
val result: Seq[Int] = incoming.fold(Seq.empty)(_ + _)
val result2: Seq[Int] = incoming.fold(MutableList.empty(_ += _).toSeq
したがって、問題は本質的に、不変に繰り返し追加することは、可変またはパフォーマンスが重要なコードに繰り返し追加することとどのようにVector
比較されるのでしょうか? 追加する必要があるという理由だけで(前に追加するのではなく)捨てました。しかし、ミュータブルなデータ構造は、パフォーマンスやガベージ コレクションの面で何かメリットがあるのでしょうか?MutableList
ListBuffer
List
O(1)