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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Effettuare lo stream della risposta in ASP.NET Core tramite IAsyncEnumerable
Creare alias per tipi generici e tuple in C#
Ottimizzazione dei block template in Angular 17
Le novità di Angular: i miglioramenti alla CLI
Assegnare un valore di default a un parametro di una lambda in C#
Eseguire operazioni con timeout in React
Come migrare da una form non tipizzata a una form tipizzata in Angular
Creazione di componenti personalizzati in React.js con Tailwind CSS
.NET Conference Italia 2023
Generare file PDF da Blazor WebAssembly con iText
Utilizzare un service principal per accedere a Azure Container Registry
Utilizzare domini personalizzati gestiti automaticamente con Azure Container Apps
I più letti di oggi
- Miglioramenti nelle performance di Angular 16
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- HTML5 con CSS e JavaScript
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Ottimizzazione dei block template in Angular 17
- Disabilitare automaticamente un workflow di GitHub (parte 2)