ParallelMergeOptions Énumération
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Spécifie le type de fusion de sortie préféré à utiliser dans une requête. En d’autres termes, il indique comment PLINQ doit fusionner les résultats des différentes partitions en une séquence de résultat unique. Cela n'est qu'une indication, que le système peut ne pas suivre pendant la parallélisation de toutes les requêtes.
public enum class ParallelMergeOptions
public enum ParallelMergeOptions
type ParallelMergeOptions =
Public Enum ParallelMergeOptions
- Héritage
Champs
AutoBuffered | 2 | Utilisez une fusion avec mémoires tampons de sortie d'une taille choisie par le système. Les résultats s'accumuleront dans une mémoire tampon de sortie avant de devenir accessibles par le consommateur de la requête. |
Default | 0 | Utilisez AutoBuffered, le type de fusion par défaut. |
FullyBuffered | 3 | Utilisez une fusion avec les mémoires tampons de sortie à pleine charge. Le système accumulera tous les résultats avant qu'ils ne deviennent accessibles par le consommateur de la requête. |
NotBuffered | 1 | Utilisez une fusion sans mémoire tampon de sortie. Dès que les éléments de résultat ont été calculés, rendez cet élément accessible par le consommateur de la requête. |
Remarques
Utilisé NotBuffered
pour les requêtes qui seront consommées et sorties en tant que flux, cela présente la latence la plus faible entre le début de l’exécution de la requête et les éléments générés. Pour certaines requêtes, telles que celles impliquant un tri (OrderBy, OrderByDescending), la mise en mémoire tampon est essentielle et une indication de NotBuffered ou AutoBuffered est ignorée. Toutefois, les requêtes créées à l’aide de l’opérateur AsOrdered peuvent être diffusées en continu tant qu’aucun autre tri n’est effectué dans la requête elle-même.
Utilisez AutoBuffered
pour la plupart des cas ; il s’agit de la valeur par défaut. Il trouve un équilibre entre la latence et les performances globales.
Utilisez FullyBuffered
pour les requêtes lorsque la sortie entière peut être traitée avant que les informations soient nécessaires. Cette option offre les meilleures performances lorsque toute la sortie peut être accumulée avant de produire des informations, bien qu’elle ne soit pas adaptée au traitement de flux ou à l’affichage des résultats partiels en milieu de requête.