rx 個別演算子を使用して、実行時間の長いプロセス内の特定のキーに基づいて外部データ ストリームをフィルター処理しています。
これによりメモリリークが発生しますか?多くの異なるキーが受信されると仮定します。rx 個別演算子は、以前に受信したキーをどのように追跡しますか?
代わりに期間セレクターで groupbyuntil を使用する必要がありますか?
rx 個別演算子を使用して、実行時間の長いプロセス内の特定のキーに基づいて外部データ ストリームをフィルター処理しています。
これによりメモリリークが発生しますか?多くの異なるキーが受信されると仮定します。rx 個別演算子は、以前に受信したキーをどのように追跡しますか?
代わりに期間セレクターで groupbyuntil を使用する必要がありますか?
Observable.Distinct
HashSet
内部で使用します。メモリ使用量は、検出された個別のキーの数にほぼ比例します。(AFAIK 約 30*n バイト)
GroupByUntil
とは本当に違うことをしDistinct
ます。
GroupByUntil
(よく)グループ化Distinct
しますが、ストリームの要素をフィルタリングします。
使用目的についてはわかりませんが、キーの数に関係なくメモリフットプリントを持つ必要がある連続した同一の要素をフィルタリングしたい場合。Observable.DistinctUntilChanged