perl5 -d:DProf test.pl
Um den Profiler auf ein Perl-Skript anzuwenden, führen Sie den Perl-Interpreter mit dem Debugging-Switch -d aus. Der Profiler nutzt die Debugging-Hooks. Um also das Skript test.pl mit dem Profiler zu analysieren, müssen Sie den folgenden Befehl verwenden:
perl5 -d:DProf test.pl
Sobald das Skript endet, schreibt der Profiler die Profile-Informationen in eine Datei namens tmon.out. Ein Werkzeug wie dprofpp kann verwendet werden, um die in diesem Profile stehenden Daten zu interpretieren. Der folgende Befehl gibt die 15 Subroutinen aus, die die meiste Zeit verbraucht haben:
dprofpp
Um ein Ausführungsdiagramm der Subroutinen des Skripts zu erstellen, verwenden Sie den folgenden Befehl:
dprofpp -T
Für weitere Optionen sei auf dprofpp verwiesen.
#fOrTyTwO $hz=100; $XS_VERSION='DProf 19970606'; # All values are given in HZ $rrun_utime=2; $rrun_stime=0; $rrun_rtime=7 PART2 + 26 28 566822884 DynaLoader::import - 26 28 566822884 DynaLoader::import + 27 28 566822885 main::bar - 27 28 566822886 main::bar + 27 28 566822886 main::baz + 27 28 566822887 main::bar - 27 28 566822888 main::bar [....]
Die erste Zeile ist die "Magic Number". Die zweite Zeile enthält die Hertz-Zahl oder die Clockticks der Maschine, auf der das Profile erstellt wurde. Die dritte Zeile enthält den Namen und die Version des Tools, mit dem das Profile erzeugt wurde. Die fünfte Zeile enthält drei Variablen, die die Benutzer-, System- und die Realzeit des Prozesses für die Dauer des Profilings enthalten. Die sechste Zeile leitet den Abschnitt mit dem eigentlichen Ein/Austritts-Profile der Sub ein.
PART2 besteht aus den folgenden Feldern:
Eintritts- (+) und Austrittsmarkierung (-) für die Subroutine Benutzerzeit (User) der Sub-Markierung (Ein/Austritt) in Ticks Systemzeit (System) der Sub-Markierung (Ein/Austritt) in Ticks Realzeit der Sub-Markierung (Ein/Austritt) in Ticks Vollständig qualifizierter Name der Subroutine (wenn möglich)
&AUTOLOAD-Subroutine, sieht es in der Variablen $AUTOLOAD nach, um den realen Namen der aufgerufenen Subroutine zu ermitteln. Siehe perlsub.
Schicken Sie Bug-Reports und Erweiterungsvorschläge an die perl5-porters-Mailing-Liste <perl5-porters@africa.nicoh.com>.
times(2)