Opérateurs streaming vs buffering
Contexte : Les opérateurs streaming produisent les résultats un par un au fur et à mesure qu’ils itèrent sur la source. Les opérateurs buffering consomment toute la source avant de produire un résultat.
Opérateurs streaming
Section intitulée « Opérateurs streaming »Where, Select, Take, Skip, SelectMany (traitent les éléments à la volée).
var streaming = numbers.Where(n => n > 2); // produit un par unOpérateurs buffering
Section intitulée « Opérateurs buffering »OrderBy, GroupBy, Distinct, Reverse (nécessitent toutes les données).
var buffered = numbers.OrderBy(n => n); // lit tous les nombres d’abordExemple d’utilisation dans le monde réel
Section intitulée « Exemple d’utilisation dans le monde réel »Grands ensembles de données : Utilisez les opérateurs streaming pour éviter de tout charger en mémoire. Évitez OrderBy sur d’énormes collections sauf si nécessaire.
Exemple : Dans System.Reactive (Rx.NET), les opérateurs streaming sont utilisés pour les séquences infinies.