2009-03-06 7 views
8

Sono nuovo di questo e sto cercando di imparare.Che cos'è la profilazione?

  • Che cos'è il profilo?
  • Quali sono vari strumenti gratuiti per la profilatura di .NET, Java EE?
  • È possibile creare profili JavaScript?
  • Se sì, con quale strumento?
  • E infine, come funzionano questi profiler?

risposta

11

Il profilo misura per quanto tempo le varie parti del codice devono essere eseguite. JavaScript può essere profilato con Firebug: http://getfirebug.com/js.html

+0

+1 per menzionare firebug e spiegare il profilo. – Ramesh

5

profiling sta misurando i tempi di esecuzione e correlandolo con varie classi/metodi/funzioni. (vedi il link che ho dato alla pagina di wikipedia per alcuni commenti su come i profiler possono lavorare)

3

Il modo che di solito utilizzare il profiler è la seguente:

  1. Avviare il profiler, avviare l'applicazione utilizzando il profiler.
  2. Utilizzare l'applicazione per un po 'di tempo o solo le funzionalità dell'applicazione identificate come colli di bottiglia e che si desidera ottimizzare.
  3. Una volta chiusa l'applicazione (o talvolta anche prima), il profiler può presentare una suddivisione dei tempi di esecuzione per funzione. Alcuni permetteranno anche di ottenere una ripartizione dei tempi di esecuzione per linea o funzione all'interno di una di queste funzioni in modo da poter vedere dove è stata utilizzata la CPU per la maggior parte del tempo usando un approccio top-down.
  4. Di solito alcune funzioni dell'applicazione richiedono un tempo insolitamente lungo per l'esecuzione. Dopo aver esaminato i risultati del profilo, dovresti essere in grado di identificarli ed eliminare i problemi di prestazioni.
4

Pensate ai profiler come debugger per errori di durata dell'esecuzione.

Anche i profiler sono implementati molto come i debugger, tranne per il fatto che, anziché consentire di interrompere il programma e spostarsi, lo lasciano semplicemente girare e tengono traccia di quanto tempo viene speso in ogni parte del programma. Ciò è particolarmente utile se si dispone di un codice in esecuzione più lento del necessario per l'esecuzione, in quanto è possibile capire esattamente dove sta andando tutto il tempo e concentrare gli sforzi per risolvere proprio quel collo di bottiglia.

Molti sviluppatori credono che si dovrebbe mai codice di ottimizzazione manuale senza utilizzare un profiler.

+0

+1 per spiegare come funzionano i profiler – Ramesh

0

Wikipedia dice:

in ingegneria del software, l'analisi delle prestazioni, più comunemente oggi nota come profiling, è l'indagine del comportamento di un programma che utilizza le informazioni raccolte come il programma esegue

Continua a leggere quihttp://en.wikipedia.org/wiki/Performance_analysis.

Quindi, per lo strumento javascript Firebug (http://getfirebug.com/index.html#install) è un'opzione eccellente.

+1

Mi fa impazzire il fatto che l'analisi delle prestazioni e l'uso dei profiler siano considerati la stessa cosa - o piuttosto, che la misurazione delle prestazioni e la diagnosi delle prestazioni siano considerate la stessa cosa. –

0

Profiling è una misura del tempo di esecuzione a livello di metodo (statistica funzionale) e raccolta di informazioni a livello di runtime come consumo di memoria, processore, thread e numero di classi (statistiche non funzionali) caricate in un periodo di tempo in cui l'applicazione è in esecuzione. Fa parte dell'analisi delle prestazioni (raccolta di statistiche funzionali e non funzionali) dell'applicazione in questione gestita da un utente. JConsole è uno degli strumenti integrati per profilare le applicazioni Java.