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
Reactive form tipizzati con modellazione del FormBuilder in Angular
Gestire domini wildcard in Azure Container Apps
Disabilitare automaticamente un workflow di GitHub (parte 2)
Utilizzare domini personalizzati gestiti automaticamente con Azure Container Apps
Sfruttare lo streaming di una chiamata Http da Blazor
Usare una container image come runner di GitHub Actions
Utilizzare Model as a Service su Microsoft Azure
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Semplificare il deployment di siti statici con Azure Static Web App
Filtrare e rimuovere gli elementi dalla cache del browser tramite le API JavaScript
Installare le Web App site extension tramite una pipeline di Azure DevOps
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
I più letti di oggi
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- ASP.NET 3.5 per tutti
- .NET Conference Italia 2023 - Milano e Online
- Sblocca le performance della tua applicazione con .NET 8
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!