Profilering programmer er et viktig første skritt i optimalisering. Hvis du vil at programmet skal kjøre raskere, må du først identifisere hvilke funksjoner som tar mest tid og fokusere oppmerksomheten din der. For å gjøre dette , har et Perl program for å samle inn og detalj sine subroutine samtaler og utganger , opprette en fil som har all profilinformasjon. Profilere din Perl programmet vil fortelle deg hvor den største mengden av tid blir brukt . Instruksjoner
en
Monter testdata , bruk av store datafiler når det er mulig . Hvis programmet behandler en rekke data , montere noen worst- case scenario data . Det er ingen vits i å optimalisere Perl program for best -case scenario eller minste mengden data
2
Kjør profiler ved å kjøre programmet fra Perl kommandolinjen med - d: . DProf alternativ . Dette vil profilere programmet og output en tmon.out fil . Dette tmon.out filen vil være stor og uforståelig , men det er lett behandlet i en lesbar tilstand: " perl - d: DProf test.pl "
3
Kjør profiler prosessor , ved hjelp av dprofpp ( dprof pre - prosessor ) kommando . Kommandoen vil produsere lesbare utgang fra tmon.out fil . De mest interessante kolonnene er prosentandelen av tidsbruk , antall ganger kalt og navnet på funksjonen . Her er noen eksempel utgang: "C : \\ prosjekter \\ Perl > dprofppTotal medgått tid = 0.377622 Sekunder Bruker + System Time = 0,345622 SecondsExclusive Times % Tid ExclSec CumulS # Calls sek /call CSEC /c Navn 79,5 0,275 0,269 1 0,2752 0,2694 File :: Finn :: _find_dir 13.6 0.047 0.063 2 0,0235 0,0313 viktigste :: 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 :: bærerakett 0,00 0,000 0,000 1 0,0000 0,0000 Config :: fetch_string "
4
profilen din Perl programmer ved å identifisere optimalisering flekker. Funksjoner som tar mye tid , eller er kalt et stort antall ganger er kandidater for optimalisering.
5
optimalisere programmet. Hvis en funksjon kalles en overdreven mengde ganger (hundrevis , tusenvis eller høyere ) , vurdere å ta funksjonen kropp og sette den direkte i ringer koden . Selv om funksjonene ikke ta mye tid å utføre , kaller funksjonen selv tar tid .