Ottimizzazione delle impostazioni del profiler
La finestra Profiler di prestazioni e Strumenti di diagnostica in Visual Studio ha molte impostazioni diverse che incidono sulle prestazioni complessive degli strumenti. La modifica di alcune impostazioni può causare l'esecuzione rapida dell'analisi o causare tempi di attesa aggiuntivi durante l'elaborazione dei risultati negli strumenti. Di seguito è riportato un riepilogo di determinate impostazioni e il relativo impatto sulle prestazioni.
Impostazioni simbolo
Le impostazioni dei simboli disponibili nelle opzioni del debugger (Opzioni debug > Opzioni > simboli o strumenti di strumenti > opzioni > debug > simboli) hanno un impatto significativo sul tempo necessario per generare i risultati negli strumenti. L'abilitazione dei server di simboli o l'uso del _NT_SYMBOL_PATH fa sì che il profiler richieda i simboli per ogni modulo caricato in un report. Attualmente, il profiler carica sempre automaticamente tutti i simboli indipendentemente dalla preferenza di caricamento automatico dei simboli.
Lo stato di avanzamento del caricamento dei simboli può essere visualizzato nella finestra Output sotto l'intestazione Strumenti di Diagnostica.
Una volta scaricati, i simboli vengono memorizzati nella cache, che velocizzano l'analisi futura, ma richiedono comunque il caricamento e l'analisi dei file. Se il caricamento dei simboli rallenta l'analisi, provare a disattivare i server di simboli e cancellare la cache dei simboli. In alternativa, fare affidamento sui simboli compilati localmente per il progetto.
Mostra codice esterno
Molti degli strumenti all'interno della finestra di Performance Profiler e Strumenti di diagnostica hanno un concetto di codice utente rispetto al codice esterno. Il codice utente è qualsiasi codice compilato dalla soluzione aperta o dall'area di lavoro aperta. Il codice esterno è qualsiasi altra cosa. Mantenendo abilitata l'impostazione Mostra solo il mio codice o disabilitata l'impostazione Mostra codice esterno, si consente agli strumenti di aggregare il codice esterno in un singolo frame di primo livello, riducendo notevolmente la quantità di elaborazione necessaria per visualizzare i risultati. In questo modo gli utenti possono vedere che cosa è stato chiamato nel codice esterno che ha creato il rallentamento, mantenendo al minimo i dati da elaborare. Quando possibile, abilitare Mostra di codice esterno e assicurarsi di avere aperta la soluzione o l'area di lavoro per il file .diagsession che si sta analizzando.
Per la maggior parte degli strumenti di profilatura, l'opzione del codice utente è presente nelle impostazioni per la pagina di riepilogo del report.
Durata della traccia
Analizzare durate più brevi comporta meno dati, che sono più veloci da analizzare. In genere è consigliabile provare a limitare le tracce a non più di cinque minuti di dati sulle prestazioni. Alcuni strumenti, come il strumento di utilizzo della CPU, consentono di sospendere la raccolta dei dati mentre lo strumento è in esecuzione, in modo da limitare la quantità di dati raccolti allo scenario che si desidera analizzare.
Frequenza di campionamento
Alcuni strumenti, come lo strumento utilizzo della CPU e lo strumento allocazione oggetti NET, consentono di regolare una frequenza di campionamento. L'aumento di questa frequenza di campionamento consente di misurare più precisamente, ma aumenta la quantità di dati generati. In genere, è consigliabile lasciare questa impostazione alla frequenza predefinita, a meno che non venga esaminato un problema specifico.
Impostare la cartella della raccolta
Il profiler di Visual Studio usa una directory scratch di raccolta per archiviare le tracce delle prestazioni prima che vengano salvate o rimosse. Per impostazione predefinita, il profiler usa la directory temporanea. Tuttavia, è possibile specificare una directory scratch diversa aprendo prima di tutto la finestra Strumenti di diagnostica (Debug>Windows>Show Diagnostic Tools) e quindi scegliendo Seleziona strumenti>Impostazioni>Generale>Scratch Directory.