Este es el comando dprofppp que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
dprofpp: muestra los datos del perfil de Perl
SINOPSIS
dprofpp [-a|-z|-l|-v|-U] [-d] [-s|-r|-u] [-q] [-F] [-I | -E] [-O Cnt] [-A] [-R] [-S] [-g
subrutina] [-G [-P]] [-f ] [perfil]
dprofpp -T [-F] [-g subrutina] [perfil]
dprofpp -t [-F] [-g subrutina] [perfil]
dprofpp -G [-P] [perfil]
dprofpp -p guión [-Q] [otras opciones]
dprofpp -V [perfil]
DESCRIPCIÓN
El dprofpp El comando interpreta los datos de perfil producidos por un generador de perfiles, como el
Desarrollo :: DProf Profiler. Dprofpp leerá el archivo tmon.fuera y mostrar las 15 subrutinas
que están usando la mayor parte del tiempo. Por defecto se dan los tiempos para cada subrutina
excluyendo los tiempos de sus subrutinas secundarias.
Para perfilar un script de Perl, ejecute el intérprete de Perl con el -d cambiar. Así que perfilar
guión prueba.pl con Devel :: DProf use lo siguiente:
$ perl5 -d: DProf test.pl
Luego ejecute dprofpp para analizar el perfil. La salida de dprofpp depende de las banderas para
el programa y la versión de Perl que está utilizando.
$ dprofpp-u
Tiempo total transcurrido = 1.67 segundos
Tiempo de usuario = 0.61 segundos
Horarios exclusivos
% Tiempo Segundos # Llamadas seg / Nombre de llamada
52.4 0.320 2 0.1600 principal :: foo
45.9 0.280 200 0.0014 principal :: bar
0.00 0.000 1 0.0000 DynaLoader :: importación
0.00 0.000 1 0.0000 principal :: baz
La herramienta dprofpp también puede ejecutar el generador de perfiles antes de analizar los datos del perfil. Lo anterior
se pueden ejecutar dos comandos con un comando dprofpp.
$ dprofpp -u -p prueba.pl
Consulte "FORMATO DE PERFIL" en Devel :: DProf para obtener una descripción del perfil sin procesar.
SALIDA
Las columnas son:
%Tiempo
Porcentaje de tiempo dedicado a esta rutina.
#Llamadas
Número de llamadas a esta rutina.
seg / llamada
Número medio de segundos por llamada a esta rutina.
Nombre
Nombre de la rutina.
Cumulos
Tiempo (en segundos) empleado en esta rutina y rutinas llamadas desde ella.
ExclSec
Tiempo (en segundos) empleado en esta rutina (sin incluir los llamados desde ella).
Csec / c
El tiempo medio (en segundos) invertido en cada llamada de esta rutina (incluidas las llamadas
de eso).
CAMPUS
-a Ordene alfabéticamente por nombres de subrutinas.
-d Invertir cualquier tipo que se utilice
-A Cuente el tiempo para la subrutina autocargada como tiempo para * :: AUTOLOAD. De lo contrario, el tiempo
para autocargar, se cuenta como tiempo de la subrutina misma (no hay forma de
separe el tiempo de carga automática del tiempo de ejecución).
Esto será irrelevante con los nuevos Perls. Ellos informarán a "Devel :: DProf"
cuando el "AUTOLOAD" cambia a la subrutina real, por lo que una estadística separada para
"AUTOLOAD" se recopilará sin importar si esta opción está configurada.
-R Cuente las subrutinas anónimas definidas en el mismo paquete por separado.
-E (predeterminado) Muestra todos los tiempos de las subrutinas sin incluir los tiempos de las subrutinas secundarias.
-F Forzar la generación de marcas de tiempo de salida falsas si dprofpp informa que el perfil es
distorsionado. Esto solo es útil si dprofpp determina que el perfil está distorsionado debido
a las marcas de tiempo de salida que faltan. Estás solo si haces esto. Consultar los BUGS
.
-I Muestra todos los tiempos de las subrutinas, incluidos los tiempos de las subrutinas secundarias.
-l Ordene por número de llamadas a las subrutinas. Esto puede ayudar a identificar candidatos para
en línea
-O Cnt
Mostrar solo Cnt subrutinas. El valor predeterminado es 15.
-p guión
Le dice a dprofpp que debe perfilar el script dado y luego interpretar su perfil
datos. Ver -Q.
-Q Usado con -p para decirle a dprofpp que salga después de perfilar el script, sin interpretar
los datos.
-q No muestre encabezados de columna.
-r Muestra los tiempos reales transcurridos en lugar de los tiempos de usuario + sistema.
-s Muestra los tiempos del sistema en lugar de los tiempos de usuario + sistema.
-T Muestra el árbol de llamadas de subrutina a la salida estándar. Las estadísticas de subrutina no se muestran.
-t Muestra el árbol de llamadas de subrutina a la salida estándar. Las estadísticas de subrutina no se muestran.
Cuando se llama a una función varias veces consecutivas en el mismo nivel de llamada, entonces
se muestra una vez con un recuento de repetición.
-S Pantalla Fusionada árbol de llamadas de subrutina a stdout. Las estadísticas se muestran para cada
rama del árbol.
Cuando una función se llama múltiple (no necesariamente consecutivo) veces en el mismo
branch, todas estas llamadas pasan a un branch del siguiente nivel. Un recuento repetido es
salida junto con tiempo combinado inclusivo, exclusivo y para niños.
Las ramas se ordenan con respecto al tiempo inclusivo.
-U No clasifique. Visualización en el orden que se encuentra en el perfil sin formato.
-u Muestra los tiempos del usuario en lugar de los tiempos del usuario + sistema.
-V Imprima el número de versión de dprofpp y salga. Si se encuentra un perfil sin procesar,
También se mostrará la variable XS_VERSION.
-v Ordene por tiempo promedio empleado en subrutinas durante cada llamada. Esto puede ayudar a identificar
candidatos para inlining.
-z (predeterminado) Ordenar por cantidad de tiempo de usuario + sistema utilizado. Las primeras líneas deberían mostrar
usted qué subrutinas está usando la mayor parte del tiempo.
-g "subrutina"
Ignore las subrutinas excepto "subrutina" y lo que sea que se llame desde ella.
-G
Agregue "Agrupe" todas las llamadas que coincidan con el patrón. Por ejemplo, esto puede ser
utilizado para agrupar todas las llamadas de un conjunto de paquetes
-G "(paquete1: :) | (paquete2: :) | (paquete3: :)"
o agrupar subrutinas por nombre:
-G "getNum"
-P Se usa con -G para agregar "Extraer" todas las llamadas que no coinciden con -G.
-f
Filtre todas las llamadas que coincidan con el patrón.
-h Muestre ayuda breve y salga.
-H Muestre ayuda larga y salga.
MEDIO AMBIENTE
La variable de entorno DPROFPP_OPTS se puede configurar en una cadena que contenga opciones para
dprofpp. Puede usar esto si lo prefiere -I Más de -E o si tu quieres -F encendido todo el tiempo.
Esto se agregó con bastante pereza, por lo que hay algunos efectos secundarios indeseables. Opciones en el
la línea de comandos debe anular las opciones en DPROFPP_OPTS, pero no cuente con eso en este
versión.
Use dprofppp en línea usando los servicios de onworks.net