You've already forked linux-packaging-mono
Imported Upstream version 4.0.0~alpha1
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
This commit is contained in:
63
external/referencesource/System.Core/System/Linq/ParallelMergeOptions.cs
vendored
Normal file
63
external/referencesource/System.Core/System/Linq/ParallelMergeOptions.cs
vendored
Normal file
@ -0,0 +1,63 @@
|
||||
// ==++==
|
||||
//
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
// ==--==
|
||||
// =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
|
||||
//
|
||||
// ParallelMergeOptions.cs
|
||||
//
|
||||
// <OWNER>[....]</OWNER>
|
||||
//
|
||||
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
||||
|
||||
namespace System.Linq
|
||||
{
|
||||
/// <summary>
|
||||
/// Specifies the preferred type of output merge to use in a query. This is a hint only, and may not be
|
||||
/// respected by the system when parallelizing all queries.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// <para>
|
||||
/// Use <b>NotBuffered</b> for queries that will be consumed and output as streams, this has the lowest latency
|
||||
/// between beginning query execution and elements being yielded. For some queries, such as those involving a
|
||||
/// sort (OrderBy, OrderByDescending), buffering is essential and a hint of NotBuffered or AutoBuffered will
|
||||
/// be ignored.
|
||||
/// </para>
|
||||
/// <para>
|
||||
/// Use <b>AutoBuffered</b> for most cases; this is the default. It strikes a balance between latency and
|
||||
/// overall performance.
|
||||
/// </para>
|
||||
/// <para>
|
||||
/// Use <b>FullyBuffered</b> for queries when the entire output can be processed before the information is
|
||||
/// needed. This option offers the best performance when all of the output can be accumulated before yielding
|
||||
/// any information, though it is not suitable for stream processing or showing partial results mid-query.
|
||||
/// </para>
|
||||
/// </remarks>
|
||||
public enum ParallelMergeOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// Use the default merge type, which is AutoBuffered.
|
||||
/// </summary>
|
||||
Default = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Use a merge without output buffers. As soon as result elements have been computed,
|
||||
/// make that element available to the consumer of the query.
|
||||
/// </summary>
|
||||
NotBuffered = 1,
|
||||
|
||||
/// <summary>
|
||||
/// Use a merge with output buffers of a size chosen by the system. Results
|
||||
/// will accumulate into an output buffer before they are available to the consumer of
|
||||
/// the query.
|
||||
/// </summary>
|
||||
AutoBuffered = 2,
|
||||
|
||||
/// <summary>
|
||||
/// Use a merge with full output buffers. The system will accumulate all of the
|
||||
/// results before making any of them available to the consumer of the query.
|
||||
/// </summary>
|
||||
FullyBuffered = 3
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user