Profiling -Programme ist ein wichtiger erster Schritt bei der Optimierung . Wenn Sie Ihr Programm schneller ausgeführt werden soll , müssen Sie zunächst ermitteln, welche Funktionen nehmen die meiste Zeit und konzentrieren Sie sich dort. Um dies zu tun , hat ein Perl-Programm zu erfassen und detailliert seine Unterprogrammaufrufen und Ausfahrten , die Schaffung einer Datei, die alle Informationen über die Profile hat . Profiling Ihre Perl-Programm wird Ihnen sagen, wo die größte Menge an Zeit ausgegeben wird . Anleitung
1
Montieren Testdaten , mit großen Dateien , wenn möglich. Wenn Ihr Programm verarbeitet eine Vielzahl von Daten , montieren einige Worst-Case- Szenario-Daten . Es macht keinen Sinn bei der Optimierung Ihrer Perl-Programm für den best-case -Szenario oder kleinste Datenmenge
2
Führen Sie den Profiler , indem Sie Ihr Programm aus dem Perl Kommandozeile mit der Option- d: . DProf Option . Dadurch wird Ihr Programm profilieren und Ausgang ein tmon.out Datei. Diese tmon.out Datei wird groß sein und unverständlich , aber es ist leicht in einem lesbaren Zustand verarbeitet: "perl -d: DProf test.pl "
3
Führen Sie die Profiler -Prozessor, mit dem dprofpp ( DProf Pre-Prozessor )-Befehl . Der Befehl wird lesbare Ausgabe vom tmon.out Datei zu erzeugen. Die interessantesten Spalten ist der Prozentsatz der Verweilzeit, Anzahl der Aufrufe und der Name der Funktion. Hier ist ein Beispiel einer Ausgabe : "C: \\ projects \\ Perl > dprofppTotal Abgelaufene Zeit = 0.377622 Sekunden Benutzername + System Time = 0,345622 SecondsExclusive Zeiten % Zeit ExclSec CumulS # Anrufe sec /Anruf WBK /c Bezeichnung 79,5 0,275 0,269 1 0,2752 0,2694 File :: finden :: _find_dir 13,6 0,047 0,063 2 0,0235 0,0313 main :: BEGIN 4,63 0,016 0,016 3 0,0053 0,0053 Dynaloader :: dl_load_file 4,63 0,016 0,016 3 0,0053 0,0053 ActivePerl :: Config :: BEGIN 4,34 0,015 0,015 3 0,0050 0,0050 Dynaloader :: BEGIN 0,00 0,000 0,000 1 0,0000 0,0000 Config :: Trägerrakete 0,00 0,000 0,000 1 0,0000 0,0000 Config :: fetch_string "
4
Profil Ihre Perl-Programmen durch die Identifizierung Optimierung Flecken. Funktionen , die eine Menge Zeit in Anspruch nehmen oder werden als eine große Anzahl von Zeiten sind Kandidaten für die Optimierung.
5
Optimieren Sie Ihr Programm . Wenn eine Funktion aufgerufen wird eine übermäßige Menge an Zeit ( Hunderte, Tausende oder höher) , erwägen die Funktion Körper und legt es direkt in den aufrufenden Code . Selbst wenn die Funktionen nicht nehmen viel Zeit für die Ausführung , ruft Funktion selbst einige Zeit dauern.