3

rx 個別演算子を使用して、実行時間の長いプロセス内の特定のキーに基づいて外部データ ストリームをフィルター処理しています。

これによりメモリリークが発生しますか?多くの異なるキーが受信されると仮定します。rx 個別演算子は、以前に受信したキーをどのように追跡しますか?

代わりに期間セレクターで groupbyuntil を使用する必要がありますか?

4

2 に答える 2

5

Observable.DistinctHashSet内部で使用します。メモリ使用量は、検出された個別のキーの数にほぼ比例します。(AFAIK 約 30*n バイト)

GroupByUntilとは本当に違うことをしDistinctます。
GroupByUntil(よく)グループ化Distinctしますが、ストリームの要素をフィルタリングします。

使用目的についてはわかりませんが、キーの数に関係なくメモリフットプリントを持つ必要がある連続した同一の要素をフィルタリングしたい場合。Observable.DistinctUntilChanged

于 2013-06-01T19:37:34.620 に答える