Questo è il comando dprofppp che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
dprofpp - visualizza i dati del profilo Perl
SINOSSI
dprofpp [-a|-z|-l|-v|-U] [-d] [-s|-r|-u] [-q] [-F] [-I|-E] [-O cnt] [-A] [-R] [-S] [-g
sottoprogramma] [-G [-P,-f ] [profilo]
dprofpp -T [-F] [-g sottoprogramma] [profilo]
dprofpp -t [-F] [-g sottoprogramma] [profilo]
dprofpp -G [-P] [profilo]
dprofpp -p copione [-Q] [altre opzioni]
dprofpp -V [profilo]
DESCRIZIONE
I dprofpp Il comando interpreta i dati del profilo prodotti da un profiler, come ad esempio
Devel::DProf profiler. Dprofpp leggerà il file tmon.out e visualizzare le 15 subroutine
che utilizzano più tempo. Per impostazione predefinita vengono forniti i tempi per ciascuna subroutine
esclusivi dei tempi delle loro subroutine figlie.
Per profilare uno script Perl eseguire l'interprete perl con il file -d interruttore. Quindi per profilare
copione prova.pl con Devel::DProf utilizzare quanto segue:
$ perl5 -d:DProf test.pl
Quindi esegui dprofpp per analizzare il profilo. L'output di dprofpp dipende dai flag to
il programma e la versione di Perl che stai utilizzando.
$ dprofpp -u
Tempo trascorso totale = 1.67 secondi
Tempo utente = 0.61 secondi
Tempi esclusivi
%Tempo Secondi #Chiamate sec/Chiama Nome
52.4 0.320 2 0.1600 principale::foo
45.9 0.280 200 0.0014 principale::bar
0.00 0.000 1 0.0000 DynaLoader::import
0.00 0.000 1 0.0000 principale::baz
Lo strumento dprofpp può anche eseguire il profiler prima di analizzare i dati del profilo. Quanto sopra
due comandi possono essere eseguiti con un comando dprofpp.
$ dprofpp -u -p prova.pl
Consultare "FORMATO PROFILO" in Devel::DProf per una descrizione del profilo grezzo.
USCITA
Le colonne sono:
%Tempo
Percentuale di tempo trascorso in questa routine.
#Chiamate
Numero di chiamate a questa routine.
sec/chiamata
Numero medio di secondi per chiamata a questa routine.
Nome
Nome della routine.
CumulS
Tempo (in secondi) trascorso in questa routine e routine richiamate da essa.
EsclusoSec
Tempo (in secondi) trascorso in questa routine (esclusi quelli richiamati da essa).
Csec/c
Tempo medio (in secondi) trascorso in ciascuna chiamata di questa routine (incluse quelle chiamate
da).
VERSIONI
-a Ordina in ordine alfabetico in base ai nomi delle subroutine.
-d Invertire qualunque ordinamento venga utilizzato
-A Contare il tempo per la subroutine caricata automaticamente come tempo per *::AUTOLOAD. Altrimenti il tempo
per l'autocaricamento viene conteggiato come tempo della subroutine stessa (non c'è modo di farlo
separare il tempo di caricamento automatico dal tempo di esecuzione).
Questo sarà irrilevante con i Perls più recenti. Informeranno "Devel::DProf"
quando "AUTOLOAD" passa alla subroutine effettiva, quindi una statistica separata per
"AUTOLOAD" verrà raccolto indipendentemente dal fatto che questa opzione sia impostata.
-R Conta separatamente le subroutine anonime definite nello stesso pacchetto.
-E (impostazione predefinita) Visualizza tutti i tempi delle subroutine esclusi i tempi delle subroutine figlie.
-F Forza la generazione di timestamp di uscita falsi se dprofpp segnala che il profilo lo è
confuso. Ciò è utile solo se dprofpp determina che il profilo è confuso a causa
ai timestamp di uscita mancanti. Sei da solo se lo fai. Consulta i BUG
.
-I Visualizza tutti i tempi delle subroutine compresi i tempi delle subroutine figlie.
-l Ordina per numero di chiamate alle subroutine. Questo può aiutare a identificare i candidati per
inline.
-O cnt
Mostra solo cnt subroutine. Il valore predefinito è 15.
-p copione
Dice a dprofpp che dovrebbe profilare lo script dato e poi interpretarne il profilo
dati. Vedere -Q.
-Q Usato con -p per dire a dprofpp di uscire dopo aver profilato lo script, senza interpretarlo
i dati.
-q Non visualizzare le intestazioni delle colonne.
-r Visualizza i tempi reali trascorsi anziché i tempi utente+sistema.
-s Visualizza gli orari di sistema anziché gli orari utente+sistema.
-T Visualizza l'albero delle chiamate della subroutine su stdout. Le statistiche della subroutine non vengono visualizzate.
-t Visualizza l'albero delle chiamate della subroutine su stdout. Le statistiche della subroutine non vengono visualizzate.
Quando una funzione viene chiamata più volte consecutive allo stesso livello di chiamata, allora
viene visualizzato una volta con un conteggio delle ripetizioni.
-S Dsiplay Fusione albero delle chiamate di subroutine su stdout. Per ciascuno vengono visualizzate le statistiche
ramo dell'albero.
Quando una funzione è chiamata multipla (non necessariamente consecutivo) volte nello stesso
ramo, quindi tutte queste chiamate vanno in un ramo del livello successivo. Un conteggio delle ripetizioni è
uscita insieme al tempo combinato inclusivo, esclusivo e bambini.
I rami sono ordinati rispetto al tempo compreso.
-U Non ordinare. Visualizza nell'ordine trovato nel profilo grezzo.
-u Visualizza gli orari dell'utente anziché gli orari dell'utente+sistema.
-V Stampa il numero di versione di dprofpp ed esce. Se viene trovato un profilo grezzo, allora è
Verrà visualizzata anche la variabile XS_VERSION.
-v Ordina in base al tempo medio trascorso nelle subroutine durante ciascuna chiamata. Questo può aiutare a identificare
candidati per l'inlining.
-z (impostazione predefinita) Ordina per quantità di tempo utente+sistema utilizzato. Dovrebbero essere visualizzate le prime righe
quali subroutine utilizzano più tempo.
-g "sottoprogramma"
Ignora le subroutine tranne "subroutine" e qualunque cosa venga chiamata da essa.
-G
Aggrega "Raggruppa" tutte le chiamate che corrispondono allo schema. Ad esempio questo può essere
utilizzato per raggruppare tutte le chiamate di un insieme di pacchetti
-G "(pacchetto1::)|(pacchetto2::)|(pacchetto3::)"
o per raggruppare le subroutine per nome:
-G "getNum"
-P Utilizzato con -G per aggregare "Tirare" insieme tutte le chiamate che non corrispondevano a -G.
-f
Filtra tutte le chiamate corrispondenti al modello.
-h Visualizza un breve aiuto ed esci.
-H Visualizza un lungo aiuto ed esce.
AMBIENTE
La variabile d'ambiente DPROFPP_OPTS può essere impostato su una stringa contenente opzioni per
dprofpp. Potresti usare questo se preferisci -I ancora -E o se vuoi -F su tutto il tempo.
Questo è stato aggiunto abbastanza pigramente, quindi ci sono alcuni effetti collaterali indesiderati. Opzioni su
la riga di comando dovrebbe sovrascrivere le opzioni in DPROFPP_OPTS, ma non contare su questo in questo
versione.
Utilizza dprofppp online utilizzando i servizi onworks.net