Ottimizzare le performance di una query LINQ to Objects utilizzando PLINQ

di Stefano Mostarda, in LINQ,

Per default, le query LINQ to Objects vengono eseguite scorrendo gli oggetti nella lista in maniera sequenziale. Per ottimizzare questa impostazione possiamo utilizzare Parallel LINQ (PLINQ). PLINQ suddivide la lista in blocchi e fa elaborare ogni blocco ad un processore diverso della macchina. In questo modo l'elaborazione della lista avviene in parallelo ottimizzando notevolmente le prestazioni.
Eseguire una query PLINQ è estremamente semplice grazie all'extension method AsParallel che specifica appunto che la query deve essere parallelizzata.

var result = from p in persone.AsParallel()
where p.Nome == "Stefano"
select p;

Come possiamo vedere, la differenza tra una query LINQ e una query PLINQ è minima, ma i benefici in termini di performance spesso possono essere molto elevati.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi