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
Selettore CSS :has() e i suoi casi d'uso avanzati
Utilizzare Hybrid Cache in .NET 9
Usare le navigation property in QuickGrid di Blazor
Recuperare App Service cancellati su Azure
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Ottenere un token di accesso per una GitHub App
Creare una libreria CSS universale - Rotazione degli elementi
Migliorare l'organizzazione delle risorse con Azure Policy
Supportare la sessione affinity di Azure App Service con Application Gateway
Generare la software bill of material (SBOM) in GitHub