Guida per principianti alla profilatura delle prestazioni
In questo argomento viene descritto un metodo di base per l'utilizzo degli strumenti di profilatura di Visual Studio Premium e Visual Studio Ultimate per analizzare i problemi di prestazioni dell'applicazione.Anche se gli strumenti di profilatura includono molte opzioni per la raccolta di dati personalizzati relativi alle prestazioni in molti tipi di applicazioni, questo argomento riguarda l'utilizzo della creazione guidata profilo per raccogliere dati di Campionamento per una soluzione di Visual Studio.
[!NOTA]
Se Campionamento non restituisce i dati necessari, altri metodi di raccolta degli strumenti di profilatura forniscono tipi diversi di informazioni che potrebbero risultare utili.Per ulteriori informazioni su questi altri metodi, vedere Procedura: scegliere un metodo di raccolta.
In questo argomento
Concetti di base
Prerequisiti
Passaggio 1: Creare ed eseguire una sessione di prestazioni
Passaggio 2: Analizzare dati di campionamento
Passaggio 3: Rivedere codice ed eseguire di nuovo profiler
Concetti di base
Sessione prestazioni Utilizzando il Profiler delle prestazioni è possibile creare una Sessione prestazioni, contenente i dati di configurazione per raccogliere informazioni sulle prestazioni e i risultati di una o più esecuzioni del profiling.Dopo avere creato una sessione di prestazioni, questa viene visualizzata nella finestra Esplora prestazioni.
Nome della sessione di profilatura.
La cartella Targets mostra i progetti o i binari profilati nella sessione.
La cartella Reports contiene i file dei dati di profilatura da una o più esecuzioni di raccolta.È possibile fare clic su un nome file e selezionare visualizzazioni delle informazioni sulle prestazioni, quali chiamate di funzioni, allocazioni di memoria e dettagli di funzioni specifiche.Le visualizzazioni sono rappresentate nella finestra principale di Visual Studio.
Metodo di campionamento Il Campionamento è un metodo di profilatura statistico che mostra le funzioni che eseguono la maggior parte delle operazioni in modalità utente nell'applicazione.Il campionamento è un buon punto di partenza per individuare aree che consentano di velocizzare l'applicazione.
A intervalli specificati, il metodo di campionamento raccoglie informazioni sulle funzioni in esecuzione nell'applicazione.Dopo avere completato un'esecuzione della profilatura, nella finestra principale di Visual Studio viene rappresentata la visualizzazione Riepilogo dei dati di profilatura.Nella visualizzazione Riepilogo viene rappresentata la struttura ad albero delle chiamate di funzione più attiva, detta Percorso critico, dove è stata eseguita la maggior parte delle operazioni nell'applicazione. Nella visualizzazione sono inoltre elencare le funzioni che eseguivano la maggior parte delle singole operazioni e viene fornito un grafico cronologia che può essere utilizzato per concentrarsi su segmenti specifici della sessione di campionamento.
Prerequisiti
Per assicurarsi che non si verifichino inutili problemi, prima di avviare la profilatura è possibile eseguire alcune operazioni.
Esegui come amministratore Se non si è un amministratore del computer in uso, eseguire Visual Studio come amministratore per assicurarsi di disporre delle autorizzazioni necessarie per alcune delle caratteristiche degli strumenti di profilatura.A tale scopo, fare clic sul pulsante Start, individuare l'icona dell'applicazione Visual Studio, fare clic con il pulsante destro del mouse sull'icona e scegliere Esegui come amministratore.
Impostare la configurazione della build attiva su Release Le build di debug inseriscono codice di diagnostica aggiuntivo nell'applicazione e non includono ottimizzazioni che il compilatore esegue nelle build di rilascio.La profilatura della versione finale dell'applicazione fornisce dati più accurati sulle relative prestazioni.Per modificare la configurazione attiva, scegliere Gestione configurazione dal menu Compila, quindi nella finestra di dialogo selezionare Release in Configurazione soluzione attiva.
Ottenere file dei simboli di Windows Se si profila codice che chiama funzioni di Windows, assicurarsi che siano disponibili i file con estensione .pdb più aggiornati.Senza questi file, nelle visualizzazioni dei rapporti verranno elencati nomi di funzioni di Windows enigmatici e difficile da comprendere.Per ulteriori informazioni su come verificare che siano disponibili i file necessari, vedere Procedura: fare riferimento alle informazioni sui simboli di Windows.
Passaggio 1: Creare ed eseguire una sessione di prestazioni
Per ottenere i dati da analizzare, è necessario creare innanzitutto una sessione di prestazioni, quindi eseguire la sessione.Nella Creazione guidata sessione di prestazioni è possibile effettuare entrambe le operazioni.
Per creare ed eseguire una sessione di prestazioni
Aprire la soluzione in Visual Studio.
Scegliere Avvia Creazione guidata sessione di prestazioni dal menu Analizza.
Accettare l'impostazione predefinita Campionamento CPU (consigliato) e scegliere Avanti.
Accettare il progetto predefinito, quindi scegliere Avanti.
Assicurarsi che la casella di controllo Avvia profilo al termine della procedura guidata sia selezionata, quindi scegliere Fine.
L'applicazione verrà avviata e il profiler inizierà a raccogliere dati.
Verificare la funzionalità che potrebbe contenere problemi di prestazioni.
Chiudere l'applicazione normalmente.
Dopo avere completato l'esecuzione dell'applicazione, nella finestra di principale Visual Studio viene rappresentata la visualizzazione Riepilogo dei dati di profilatura e nella finestra Esplora prestazioni viene visualizzata un'icona per la nuova sessione.
Passaggio 2: Analizzare dati di campionamento
Al termine dell'esecuzione di una sessione di prestazioni, nella finestra principale di Visual Studio viene rappresentata la visualizzazione Riepilogo del rapporto di profilatura.
Si consiglia di iniziare ad analizzare i dati esaminando Percorso critico, quindi l'elenco di funzioni che eseguono la maggior parte delle operazioni e infine concentrandosi su altre funzioni tramite la sequenza temporale di riepilogo.È inoltre possibile visualizzare suggerimenti e avvisi relativi alla profilatura nella finestra Elenco errori.
Tenere presente che il metodo di campionamento potrebbe non fornire le informazioni necessarie.Ad esempio, i campioni vengono raccolti solo quando l'applicazione esegue il codice in modalità utente.Pertanto, alcune funzionalità, ad esempio le operazioni di input e output, non vengono acquisite dal campionamento.Gli strumenti di profilatura offrono diversi metodi di raccolta che possono consentire di concentrarsi sui dati importanti.Per ulteriori informazioni sugli altri metodi, vedere Procedura: scegliere un metodo di raccolta.
Ogni area numerata nella figura si riferisce a un passaggio nella procedura.
Per analizzare dati di campionamento
Nella visualizzazione Riepilogo, Percorso critico mostra il ramo della struttura ad albero delle chiamate dell'applicazione con i campioni più inclusivi.Si tratta del percorso di esecuzione più attivo quando sono raccolti i dati.Valori inclusivi alti possono indicare che è possibile ottimizzare l'algoritmo che genera la struttura ad albero delle chiamate.Individuare la funzione nel codice nella posizione inferiore nel percorso.Notare che il percorso può includere anche funzioni di sistema o funzioni in moduli esterni.
I valori di Campioni inclusivi indicano la quantità di operazioni eseguite dalla funzione e da qualsiasi funzione da essa chiamata.I numeri inclusivi alti indicano le funzioni più costose in generale.
I valori in Campioni esclusivi indicano la quantità di operazioni eseguite dal codice nel corpo dalla funzione, escluse le operazioni eseguite da funzioni da essa chiamate.È possibile che numeri esclusivi alti indichino un collo di bottiglia delle prestazioni all'interno della funzione stessa.
Fare clic sul nome della funzione per mostrare la visualizzazione Dettagli funzione dei dati di profilatura.Nella visualizzazione Dettagli funzione è presente una visualizzazione grafica dei dati di profilatura per la funzione selezionata, che mostra tutte le funzioni che hanno chiamato tale funzione e tutte le funzioni chiamate dalla funzione selezionata.
La dimensione dei blocchi delle funzioni chiamanti e chiamate rappresenta la frequenza relativa con cui le funzioni hanno effettuato chiamate o sono chiamate.
È possibile fare clic sul nome di una funzione chiamante o chiamata per selezionarla nella visualizzazione Dettagli funzione.
Nel riquadro inferiore delle finestre Dettagli funzione viene visualizzato il codice della funzione.Se si esamina il codice e individua una possibilità di ottimizzazione delle prestazioni, fare clic sul nome file di origine per aprirlo nell'editor di Visual Studio.
Per continuare l'analisi, tornare alla visualizzazione Riepilogo selezionando Riepilogo dall'elenco a discesa Visualizzazione.Esaminare quindi le funzioni in Funzioni che svolgono più lavoro individuale.In questo elenco vengono visualizzate le funzioni con i campioni esclusivi più alti.Il codice nel corpo della funzione di queste funzioni ha eseguito una quantità di lavoro significativa ed è probabilmente possibile ottimizzarlo.Per analizzare ulteriormente una funzione particolare, fare clic sul nome della funzione per rappresentarla nella visualizzazione Dettagli funzione.
Per continuare l'analisi dell'esecuzione del profiling, è possibile analizzare di nuovo un segmento dei dati di profiling tramite la sequenza temporale nella visualizzazione Riepilogo per mostrare i valori di Percorso critico e Funzioni che svolgono più lavoro individuale da un segmento selezionato.Ad esempio, concentrandosi su un valore di picco più piccolo nella sequenza temporale è possibile che vengano individuate strutture ad albero delle chiamate costose e funzioni non mostrate nell'analisi dell'intera esecuzione della profilatura.
Per analizzare di nuovo un segmento, selezionare il segmento nella casella della sequenza temporale di riepilogo, quindi fare clic su Filtra in base a selezione.
Il profiler utilizza anche un set di regole per suggerire modi per migliorare l'esecuzione della profilatura e identificare eventuali problemi di prestazioni.Se viene trovato un problema, nella finestra Elenco errori verrà visualizzato un avviso.Per aprire la finestra Elenco errori, scegliere Elenco errori dal menu Visualizza.
Per visualizzare la funzione che ha generato l'avviso nella visualizzazione Dettagli funzione, fare doppio clic sull'avviso.
Per visualizzare informazioni dettagliate sull'avviso, fare clic con il pulsante destro del mouse sull'errore, quindi scegliere Mostra guida errore
Passaggio 3: Rivedere codice ed eseguire di nuovo una sessione
Dopo avere individuato e ottimizzato una o più funzioni, è possibile ripetere l'esecuzione della profilatura e confrontare i dati per visualizzare la differenza apportata dalle modifiche alle prestazioni dell'applicazione.
Per rivedere codice ed eseguire di nuovo il profiler
Modificare il codice.
Per aprire Esplora prestazioni, scegliere Altre finestre dal menu Visualizza, quindi fare clic su Esplora prestazioni.
In Esplora prestazioni fare clic con il pulsante destro del mouse sulla sessione che si desidera eseguire di nuovo, quindi scegliere Avvia con profilatura.
Dopo avere eseguito di nuovo la sessione, un altro file di dati sarà aggiunto alla cartella Rapporti relativa alla sessione in Esplora prestazioni.Selezionare i dati di profilatura originali e nuovi, fare clic con il pulsante destro del mouse sulla selezione, quindi scegliere Confronta report di prestazioni.
Verrà visualizzata una nuova finestra del rapporto con i risultati del confronto.Per ulteriori informazioni sull'utilizzo della visualizzazione del confronto, vedere Procedura: confrontare i file di dati del profiler.
Vedere anche
Concetti
Analisi delle prestazioni dell'applicazione tramite gli strumenti di profilatura
Guida introduttiva agli strumenti di profilatura