Profilering program är ett viktigt första steg i optimeringen . Om du vill att ditt program ska köras snabbare , måste du först identifiera vilka funktioner som tar mest tid och fokusera din uppmärksamhet där. För att göra detta , har ett Perl -program för att samla in och specificera sina subrutinen samtal och utgångar , skapa en fil som har all profilinformation . Profilering Perl program kommer att tala om var den största mängden tid som spenderas . Instruktioner
1
Montera testdata , med stora datafiler när det är möjligt . Om ditt program behandlar mycket data , montera några värsta scenario uppgifter . Det är ingen mening med att optimera din Perl -program för bästa scenariot eller minsta mängd data
2
Kör profiler genom att köra ditt program från Perl kommandoraden med - d : . DProf alternativet . Detta kommer att profilera ditt program och utdata en tmon.out fil . Denna tmon.out filen kommer att vara stort och obegripligt , men det är lätt bearbetas till en läsbar tillstånd : " perl - d : DProf test.pl " Addera 3
Kör profiler processor , med hjälp av dprofpp ( dprof pre - processor ) kommandot . Kommandot kommer att producera läsbar utsignal från tmon.out filen . De mest intressanta kolumner är andelen tillbringat tid , antalet ringda gånger och namnet på funktionen . Här är några exempel ut : " C : \\ projekt \\ Perl > dprofppTotal Förfluten tid = 0.377622 Sekunder User + System Time = 0,345622 SecondsExclusive Times % Time ExclSec CumulS # Samtal sek /samtal CSEC /c Name 79,5 0,275 0,269 1 0,2752 0,2694 File :: hitta :: _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 dina Perlprogram genom att identifiera optimering fläckar . Funktioner som tar en massa tid eller kallas ett stort antal gånger är kandidater för optimering .
5
Optimera ditt program . Om en funktion kallas en överdriven mängd gånger ( hundratals, tusentals eller högre ) , överväga att ta funktionen kroppen och lägga det direkt i den anropande koden . Även om funktionerna inte tar mycket tid att utföra , kräver funktion själva tar tid .