Profilering programmer er et vigtigt første skridt i optimering. Hvis du vil have dit program til at køre hurtigere , skal du først nødt til at identificere , hvilke funktioner tager mest tid , og fokusere din opmærksomhed der. For at gøre dette , et Perl -program har til at indsamle og detaljer dens subrutine opkald og udgange , hvilket skaber en fil, der har alle de profiloplysninger. Profilering din Perl program vil fortælle dig, hvor den største mængde af tid der bliver brugt. Instruktioner
1
Saml testdata , ved hjælp af store datafiler, når det er muligt. Hvis dit program behandler en masse data , samle nogle worst -case scenario data. Der er ingen mening i at optimere din Perl program for den bedst tænkelige scenario eller mindste mængde af data
2
Kør profiler ved at køre dit program fra Perl kommandolinjen med - d : . DProf option . Dette vil profilere dit program og output en tmon.out fil. Denne tmon.out fil vil være store og uforståelige , men det er let forarbejdet til en læsbar tilstand : " perl - d : DProf test.pl "
3
Kør profiler processor, ved hjælp af dprofpp ( dprof pre- processor) kommando. Kommandoen vil producere læsbar output fra tmon.out fil. De mest interessante søjler er den procentvise andel af brugt tid , antal kaldet gange, og navnet på den funktion. Her er nogle eksempler output: "C: \\ projekter \\ Perl > dprofppTotal Forløbet tid = 0.377622 sekunder User + System Time = 0,345622 SecondsExclusive Times % Time ExclSec CumulS # Calls sec /call CSEC /C Navn 79,5 0,275 0,269 1 0,2752 0,2694 File :: Find :: _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 :: launcher 0,00 0,000 0,000 1 0,0000 0,0000 Config :: fetch_string "
4
Profile dine Perl programmer ved at identificere optimering pletter. Funktioner, der tager en masse tid , eller bliver kaldt et stort antal gange er kandidater til optimering.
5.
Optimer dit program. Hvis en funktion kaldes en stor mængde af gange (hundreder , tusinder eller højere ) , overveje at tage den funktion krop og sætte det direkte i den kaldende kode. Selv om de funktioner ikke tage meget tid til at udføre , funktion kalder sig selv tager tid.