私はこのコードを持っている:Scalaのストリーム反復処理し、メモリ管理
val res = Stream // launch the real computation, which alternates E and M steps, updating the computation state
.iterate(initCompState)(Base.emIteration)
.take(nIteration)
.last
アイデアは、初期状態initCompState
、以前のものから新しい状態を生成する関数を提供nIterations
のためにこれを実行して取得することです最終結果。
私は仲介国での拘束はされておらず、不要になるとすぐにガベージコレクションが行われるようにしたいと考えています。私がオンラインで読んだところから、Stream
は再帰的に定義されたときに値を保持しますが、ここではそうではありません。
私の実装は正しいですか?initCompState
とres
ストリームの次の状態が計算されるとすぐにガベージコレクションの間の中間状態ですか?
むしろとき、だから、 'Iterator' – cchantep