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
Eseguire una GroupBy per entity in Entity Framework
Miglioramenti agli screen reader e al contrasto in Angular
Sostituire la GitHub Action di login su private registry
Gestire la cancellazione di una richiesta in streaming da Blazor
Eseguire operazioni sui blob con Azure Storage Actions
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Filtrare e rimuovere gli elementi dalla cache del browser tramite le API JavaScript
Gestire i null nelle reactive form tipizzate di Angular
Inizializzare i container in Azure Container Apps
Cambiare la chiave di partizionamento di Azure Cosmos DB
Effettuare lo stream della risposta in ASP.NET Core tramite IAsyncEnumerable
Sfruttare i KeyedService in un'applicazione Blazor in .NET 8
I più letti di oggi
- Microsoft annuncia Windows "TrustBridge"
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Estrarre dati randomici da una lista di oggetti in C#
- Usare il colore CSS per migliorare lo stile della pagina
- Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione