ParallelMergeOptions 列挙型

定義

クエリで使用する、推奨される 出力マージ の種類を指定します。 つまり、さまざまなパーティションから返された結果を PLINQ がどのように単一の結果シーケンスにマージするかを示します。 これはヒントにすぎないため、すべてのクエリが並列化される場合に、システムによって適用されるとは限りません。

public enum class ParallelMergeOptions
public enum ParallelMergeOptions
type ParallelMergeOptions = 
Public Enum ParallelMergeOptions
継承
ParallelMergeOptions

フィールド

AutoBuffered 2

システムが選択したサイズの出力バッファーを使用してマージを行います。 結果は、クエリのコンシューマーに返される前に、出力バッファーに蓄積されます。

Default 0

既定のマージの種類 (AutoBuffered) を使用します。

FullyBuffered 3

すべての出力バッファーを使用してマージを行います。 システムは、クエリのコンシューマーに結果を返す前に、すべての結果をバッファーに蓄積します。

NotBuffered 1

出力バッファーを使用せずにマージを行います。 結果の要素が算出されると、直ちにその要素がクエリのコンシューマーに返されます。

注釈

使用 NotBuffered してストリームとして出力されるクエリに対して使用します。これにより、クエリ実行開始から生成される要素までの待機時間が最短になります。 Sort (OrderBy, OrderByDescending) などの一部のクエリでは、バッファリングが不可欠であり、NotBuffered または自動バッファリングのヒントは無視されます。 ただし、クエリ自体で他の並べ替えが実行されていない限り、AsOrdered 演算子を使用して作成されたクエリをストリーム配信できます。

AutoBufferedほとんどの場合に使用します。これが既定値です。 待機時間と全体的なパフォーマンスのバランスが取れています。

FullyBuffered情報が必要になる前に出力全体を処理できる場合は、クエリに対してを使用します。 このオプションは、情報を生成する前にすべての出力を累積できる場合に最適なパフォーマンスを提供します。ただし、ストリーム処理やクエリの途中での部分的な結果の表示には適していません。

適用対象

こちらもご覧ください