In .Net, il Garbage Collector (GC) si occupa di gestire la memoria che non viene più utilizzata dallanostra applicazione. Se la nostra applicazione alloca molta memoria, il GC dovrà intervenire spesso. Il GC è un processo che ha un costo molto pesante in termini di performance quindi potremmo ottenere enormi miglioramenti se riuscissimo ad allocare meno memoria. Ma come facciamo ad identificare quali parti della nostra applicazione allocano più memoria? In questo può aiutarci la libreria Benchmark.NET (già introdotta nello script #625). Questa libreria offre l'attributo MemoryDiagnoser che aggiunge all'output le informazioni sulla quantità di memoria usata dal codice testato.
[MemoryDiagnoser] public class MyTestClass { [Benchmark] public void MyTestMethod1 { //implementation } [Benchmark] public void MyTestMethod2 { //implementation } [Benchmark] public void MyTestMethod3 { //implementation } }
Come si vede dall'esempio, l'attributo va messo in testa alla classe di test e non sui singoli metodi. Così facendo, avremo la profilazione della memoria per tutti i metodi.
Commenti
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
- Build 2016: segui con noi in live streaming!
- Build 2017: segui con noi tutte le novità mercoledì 10 e giovedì 11 maggio da Seattle!
- Microsoft Visual Studio Code: un nuovo editor gratuito per Windows, MacOSX e Linux per sviluppatori ASP.NET e Node.js
- Usare gRPC come infrastruttura per i nostri servizi web
- Utilizzare QuickGrid di Blazor con Entity Framework
- Realizzare una Progressive Web Application con Blazor e ASP.NET Core
- Abilitare e gestire il prerendering nelle applicazioni Blazor WebAssembly
- ASP.NET 4.5 e Visual Studio 2012 Live - Online
- Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
- Gestire la cancellazione di una richiesta in streaming da Blazor