Loading

| HT articoli

| Programmazione

Profiling per migliorare il codice delle applicazioni

di Gabriele Izzo

L'utilizzo di un tool di profiling risulta molto utile per misurare le performances dei programmi ed individuare i punti del codice responsabili del calo delle prestazioni; a valle dell'analisi condotta con un profiler è possibile pianificare gli interventi da fare per migliorare le performances del codice. Ogni scelta progettuale, sia hardware sia software, va misurata per valutare l'effettiva efficacia relativa, ed ogni implementazione andrebbe confrontata con le possibili alternative scartate per valutarne l'efficacia assoluta.

Il profiling è un processo di analisi che consente di conoscere il tempo di esecuzione delle singole funzioni, di individuare i blocchi di istruzioni computazionalmente più pesanti, risalire tutta la catena delle chiamate di funzione; a seguito di questo processo è il programmatore che interviene sul codice, ottimizzandolo o riscrivendo la dove una soluzione algoritmica diversa può garantire un aumento delle prestazioni.

Perché usare il profiler e non fare un'analisi preventiva del codice, magari al momento stesso dell'implementazione? La risposta è semplice, oltre che per la riproducibilità delle operazioni di test, traguardo difficilmente raggiungibile senza tool specifici, data l'enorme quantità di dati spesso in gioco, il profiler consente di monitorare l'uso del software durante il funzionamento reale, con dati reali e quindi molto vicino alle condizioni d'uso dell'utente finale.

Le informazioni restituire da un profiler riguardano generalmente:

  • ogni chiamata di funzione
  • il tempo impiegato per eseguire una certa funzione
  • il numero di volte questa funzione è stata chiamata
  • il chiamante di una funzione
  • le funzioni chiamate da una singola funzione
  • il numero di volte ed il tempo impiegato per l'esecuzione delle funzioni

codiceesempio_logo

Commenti Recenti

Powered by Disqus
Thursday 22 April 2010