Programas de perfiles es un primer paso importante en la optimización . Si usted quiere que su programa se ejecute más rápido, usted primero tiene que identificar qué funciones están tomando más tiempo y enfocar su atención allí . Para ello, un programa Perl tiene que recoger y el detalle de sus llamadas a subrutinas y salidas , la creación de un archivo con toda la información del perfil. Perfilando su programa de Perl le dirá que la mayor cantidad de tiempo que se gasta . Instrucciones
1
Ensamble datos de prueba, el uso de archivos de datos grandes cuando sea posible. Si el programa está procesando una gran cantidad de datos , montar algún dato peor de los casos . No hay ningún punto en la optimización de su programa de Perl para el mejor de los casos o menor cantidad de datos
2
Ejecute el generador de perfiles mediante la ejecución de su programa del Perl de línea de comandos con la opción-d : . Opción DProf . Esto perfil de su programa y la salida un archivo tmon.out . Este archivo tmon.out será grande e incomprensible , pero es fácilmente transformada en un estado legible : " perl -d: DProf test.pl "
3
Ejecutar el procesador de perfiles , utilizando la comando dprofpp ( DProf pre - procesador) . El comando producirá una salida legible del archivo tmon.out . Las columnas más interesantes son el porcentaje de tiempo empleado , número de veces llamadas y el nombre de la función. Este es un ejemplo del resultado : "C : \\ projects \\ Perl > dprofppTotal tiempo transcurrido = 0.377622 segundos de usuarios + Time System = 0.345622 SecondsExclusive Times % Tiempo ExclSec CumulS # Convocatorias seg /llamada ESCI /c Nombre de 79,5 0,275 0,269 1 0,2752 0,2694 Archivo :: Buscar :: _find_dir 13,6 0.047 0.063 2 0.0235 0.0313 principal :: COMENZAR 4.63 0.016 0.016 0.0053 0.0053 3 DynaLoader :: dl_load_file 4,63 0.016 0.016 3 0,0053 0,0053 ActivePerl :: Config :: COMENZAR 4.34 0.015 0.015 0.0050 0.0050 3 DynaLoader :: COMENZAR 0.00 0.000 0.000 1 0.0000 0.0000 Config :: lanzador 0,00 0,000 0,000 1 0,0000 0,0000 Config :: fetch_string "
4
Perfil tus programas Perl , identificando puntos de optimización. Las funciones que toman mucho tiempo o son llamadas a un gran número de veces que son candidatos para la optimización.
5
Optimizar su programa. Si una función se llama una cantidad excesiva de tiempo ( cientos, miles o más) , considere la posibilidad de tomar el cuerpo de la función y ponerlo directamente en el código de llamada. Incluso si las funciones no se necesita mucho tiempo para ejecutarse , la función llama a sí toma tiempo.