2013-04-19 15 views
9

To pytanie dotyczy profilu użytkownika Devel::NYTProf.Profil NYTProf dla Perl

Wyjście że otrzymam od profilera dla prostej linii, takich jak:

use strict; 

WYJŚCIE:

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

Więc moje pytania to:

  1. Jak to jest 3 stwierdzenia?
  2. Czas w pod .. co to oznacza?
  3. Czy to oznacza czas poświęcony na przekształcenie tego modułu w optree, czy jest to coś innego?
  4. Czy to jest czas fazy kompilacji czy czas fazy uruchamiania?

góry dziękuję

Odpowiedz

7
use Foo; 

jest równoznaczne z wykonaniem

require Foo; 
Foo->import; 

w czasie kompilacji. Więc być może sub, który został nazwany, jest strict::import.

Aktualizacja: profilowanie programu

require strict; 
strict->import; 

pokazuje, że Devel::NYTProf zlicza rachunku require jako jednego połączenia sub i import jako drugiego.