Profilering programma is een belangrijke eerste stap in optimalisatie . Als je je programma om sneller te lopen wilt , moet u eerst bepalen welke functies neemt de meeste tijd en focus je aandacht daar. Om dit te doen , een Perl- programma te verzamelen en te gedetailleerd zijn subroutine oproepen in-en uitgangen , het creëren van een bestand dat alle profielgegevens het heeft . Profilering van uw Perl programma zal u vertellen waar de grootste hoeveelheid tijd die wordt besteed . Instructies 1 Monteer testgegevens , met behulp van grote data bestanden wanneer mogelijk . Als uw programma is het verwerken van een grote hoeveelheid gegevens , assembleren sommige worst-case scenario data . Er is geen enkel punt in het optimaliseren van uw Perl -programma voor de best - case scenario of kleinste hoeveelheid data kopen van 2 Run de profiler door het uitvoeren van het programma van de Perl command-line met de - d : . DProf optie . Dit zal uw programma en output een tmon.out bestand profileren . Dit tmon.out bestand zal zijn groot en onbegrijpelijk , maar het is gemakkelijk te verwerken in een leesbare toestand : " perl - d : DProf test.pl " 3 Voer het profiler -processor , met behulp van de dprofpp ( dprof pre - processor ) commando . De opdracht zal leesbare output te produceren uit het tmon.out bestand . De meest interessante kolommen het percentage tijd , het aantal malen genoemd en de naam van de functie . Hier is een aantal voorbeeld -uitgang : " C : \\ projecten \\ Perl > dprofppTotal Verstreken tijd = 0.377622 seconden User + System Time = 0,345622 SecondsExclusive Times % Tijd ExclSec cumuls # Oproepen sec /oproep CSEC /c Naam 79,5 0,275 0,269 1 0,2752 0,2694 File :: Zoek :: _find_dir 13,6 0,047 0,063 2 0,0235 0,0313 belangrijkste :: 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 :: BEGINT 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 profiel uw Perl- programma's door het identificeren optimalisatie plekjes . Systemen die veel tijd in beslag nemen of zijn een groot aantal keren opgeroepen zijn kandidaten voor optimalisatie . 5 Optimaliseer uw programma . Als een functie van een overmatige hoeveelheid tijd ( honderden , duizenden of hoger ) wordt genoemd , overwegen de functie lichaam en is rechtstreeks schoot in de aanroepende code . Zelfs als de functies veel tijd om uit te voeren geen rekening , functie roept zichzelf de tijd nemen .
|