2013-04-19 6 views
9

Questa domanda è relativa al profiler Devel::NYTProf.NYTProf Profiler per Perl

L'uscita che ricevo dal profiler per una linea semplice, come:

use strict; 

USCITA:

statements: 3 
Time on Line: 22µs 
Calls: 2 
Time in Sub: 12µs 

Quindi le mie domande sono:

  1. Come sono queste 3 affermazioni?
  2. Il tempo in sub .. cosa rappresenta?
  3. Questo rappresenta il tempo impiegato per convertire questo modulo in optree o si tratta di qualcos'altro?
  4. Questa fase di compilazione o fase di esecuzione?

Grazie in anticipo

risposta

7
use Foo; 

è equivalente a eseguire

require Foo; 
Foo->import; 

al momento della compilazione. Quindi, forse il sub che è stato chiamato è strict::import.

Aggiornamento: profilatura il programma

require strict; 
strict->import; 

mostra che Devel::NYTProf conta il require economico come una chiamata sub e import come un altro.