PLINQ a été ajouté dans le .NET 4.0 Framework en tant qu’extension de LINQ.
- Qu'Est-ce que c'est?
- Quels problèmes cela résout-il?
- Quand est-ce approprié et quand non?
PLINQ a été ajouté dans le .NET 4.0 Framework en tant qu’extension de LINQ.
C'est Parallel LINQ. C'est un moyen d'exécuter des requêtes LINQ en parallèle sur multi-core/systèmes multi-processeurs, afin de (espérons-le) à l'accélérer.
Il y a un bon article sur ce sujet dans MSDN Magazine.
Pour plus de détails en cours et les plans, je vous recommande la lecture des articles sur la Programmation Parallèle avec .NET Blog de l'Équipe. Ils sont l'équipe de mise en œuvre parallèle des extensions, y compris PLINQ.
PLINQ est LINQ exécutées en Parallèle, c'est, en utilisant comme beaucoup de puissance de traitement que vous avez dans votre ordinateur actuel.
Si vous avez un ordinateur avec 2 cœurs comme un processeur dual core, vous aurez votre Language Integrated Query opérateurs de faire le travail en parallèle à l'aide de deux noyaux.
À l'aide de "seulement" LINQ vous n'obtenez pas autant de performances, car la Langue standard Intégrée des opérateurs de Requête ne sera pas paralléliser votre code. Cela signifie que votre code s'exécute dans une série de mode pour ne pas profiter de tous vos cœurs de processeur disponibles.
Il y a beaucoup de PLINQ opérateurs de requête capable d'exécuter votre code en utilisant un bien connu de modèles parallèles.
Jetez un oeil à mon blog dans lequel je montre la vitesse que vous obtenez lorsque vous exécutez une simple requête LINQ en Parallèle à l'aide de la méthode d'extension AsParallel:
Parallel LINQ (PLINQ) avec Visual Studio 2010/2012 - test de Perf
Si vous voulez aller en profondeur à l'aide de PLINQ, je vous conseille de lire:
Il vous permet d’ajouter .AsParallel à votre LINQ pour tenter d’exécuter la requête en utilisant autant de processeurs que possible. Bien, mais vous devez tout de même savoir si votre algorithme est "parallélisable" - ce n'est pas magique.
Cela supprime la nécessité de gérer un pool de threads et gère la synchronisation des résultats provenant de chaque thread - normalement, sans la bibliothèque d'extensions parallèles, vous devez le faire manuellement.
À partir de Wikipédia en Parallèle des Extensions:
Parallel LINQ (PLINQ) est un concurrent à l'exécution de la requête du moteur de LINQ, la parallélisation de l'exécution de requêtes sur des objets (LINQ to Objects) et des données XML (LINQ to XML). PLINQ est destiné à exposer le parallélisme de données par l'utilisation de requêtes. Tout calcul sur les objets qui ont été mis en œuvre sous forme de requêtes peut être parallélisée par PLINQ. Cependant, les objets doivent mettre en œuvre les IParallelEnumerable de l'interface, qui est définie par PLINQ lui-même. En interne, il utilise TPL pour l'exécution.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.