Initial commit
[mono.git] / mcs / class / referencesource / System.Core / System / Linq / ParallelExecutionMode.cs
1 // ==++==
2 //
3 //   Copyright (c) Microsoft Corporation.  All rights reserved.
4 // 
5 // ==--==
6 // =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
7 //
8 // ParallelQueryExecutionMode.cs
9 //
10 // <OWNER>[....]</OWNER>
11 //
12 // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
13
14 using System;
15 using System.Collections.Generic;
16 using System.Text;
17
18 namespace System.Linq
19 {
20
21     /// <summary>
22     /// The query execution mode is a hint that specifies how the system should handle
23     /// performance trade-offs when parallelizing queries.
24     /// </summary>
25     public enum ParallelExecutionMode
26     {
27         /// <summary>
28         /// By default, the system will use algorithms for queries
29         /// that are ripe for parallelism and will avoid algorithms with high 
30         /// overheads that will likely result in slow downs for parallel execution. 
31         /// </summary>
32         Default = 0,
33
34         /// <summary>
35         /// Parallelize the entire query, even if that means using high-overhead algorithms.
36         /// </summary>
37         ForceParallelism = 1,
38     }
39 }