Le viste Grafico chiamata prestazioni e Dettagli metodo risultano utili nell'individuare le parti dell'applicazione che utilizzano la maggior parte del tempo. È possibile, quindi, verificare se queste aree che consumano tempo possono essere rese più efficienti. Quando si analizza il codice dell'applicazione, è bene essere a conoscenza dei più frequenti errori di codice che danno come risultato una prestazione inefficiente.
Calcoli inutili: quando le applicazioni si evolvono e gli algoritmi vengono ridefiniti, o quando i dati cambiano, parti di codice necessarie in versioni precedenti possono diventare successivamente inutili, senza che vengano mai rimosse. Per questa ragione, diversi programmi di grandi dimensioni eseguono calcoli i cui risultati non vengono mai utilizzati. I colli di bottiglia vengono causati dal tempo speso su tale codice non utilizzato.
Altri calcoli inutili comuni sono quelli eseguiti automaticamente o come impostazione predefinita, anche se non richiesti. Esempi di questo tipo di colli di bottiglia sono rappresentati da: applicazioni che liberano inutilmente strutture di dati durante la chiusura di un programma oppure aprono la connessione a stazioni di lavoro anche in mancanza di utenti. È possibile creare profili per le prestazioni per verificare il tempo trascorso sul codice inutilizzato. Una volta sicuri che i risultati di un calcolo sono inutili, è possibili rimuovere il codice.
Calcoli prematuri: qualsiasi calcolo eseguito prima che vi sia bisogno dei suoi risultati può causare un collo di bottiglia. Ad esempio, potrebbe non esserci necessità per ordinare un elenco di numeri se l'utente non ha richiesto che l'ordinamento venisse eseguito. I dati delle prestazioni non possono indicare se il calcolo può essere ritardato; tuttavia, si può desumere il costo del calcolo e quindi decidere se posticiparlo.
Nuovo calcolo inutile: i programmi a volte ricalcolano valori necessari piuttosto che aggiungerli alla cache per un utilizzo successivo. Ad esempio, determinare la lunghezza di una stringa costante può risultare un calcolo inutile se il calcolo è in un ciclo; la lunghezza della stringa viene infatti ricalcolata molte volte, anche se ogni volta si ottiene lo stesso valore. I dati delle prestazioni posso indicare dove avviene la riesecuzione dei calcoli ed è possibile, quindi, decidere di memorizzare il valore dopo un calcolo.
Calcoli inefficienti: una scelta insufficiente di algoritmi o layout di strutture dati può causare ulteriore lavoro per il programma. Le prestazioni iniziali possono sembrare accettabili, fornendo piccoli data set, ma può ridursi notevolmente quando si presentano data set più grandi o più complessi. La creazione di profili delle prestazioni può indicare i costi di ogni calcolo secondo diverse scale cosicché si possa prevedere se ci sarà un problema con data set più grandi. Sarà quindi possibile utilizzare algoritmi alternativi e strutture dati che eseguono il lavoro più velocemente.
Anche le perdite di dati di memoria e colli di bottiglia di thread possono ridurre le prestazioni. Utilizzare le serie di creazione di profili Rilevamento perdita di dati e Analisi thread per raccogliere i dati per la soluzione di tali problemi. Tenere presente che non è possibile effettuare la raccolta dei rilevamenti di perdita di dati contemporaneamente alla raccolta di altri dati di analisi di run-time.
Argomento principale: Visualizzazione e analisi dei dati delle prestazioni
Attività correlate
Recupero informazioni dalla vista Grafico chiamata prestazioni
Riferimenti correlati
Vista Dettagli metodo
Vista Grafico chiamata prestazioni
Comandi dei dati in Grafico chiamata prestazioni