• Publicidad

Cómo perfilar el tiempo de ejecución en Perl

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Cómo perfilar el tiempo de ejecución en Perl

Notapor charlygarcia » 2013-04-14 13:05 @587

Hola amigos.
Qué alegría volver a perlenespanol.com

Tengo una preguntica que quisiera me ayudaran.

Estoy usando unos componentes de Ajax que alimentan sus datos desde datos en XML (datos.xml) pero pues estoy viendo un ejemplo donde se genera el XML a partir de consultas SQL sobre una tabla de la base de datos.

A veces los archivos generados pueden tener hasta 7000 registros, lo cual hace que se ponga un poco lenta la visualización de los datos.

Estaba pensando en hacer los programas de consultas a MySQL usando Perl y mirar en comparativa cómo mejorar el tiempo de respuesta.

Tengo dos preguntas:

1) ¿Cómo podría medir el tiempo de ejecución de un programa en Perl? (módulo o técnica)
2) ¿Qué podrían decirme sobre aumentar la velocidad usando expresiones regulares en Perl versus PHP-mysql? (consultas)

Gracias por todo lo que me puedan ayudar.

Carlos
[text]¿Cómo lograr que no se seque una gota de agua? Arrojándola al mar. [/text] - Nota: Este tag no se puede utilizar en firmas.Samsara
Avatar de Usuario
charlygarcia
Perlero nuevo
Perlero nuevo
 
Mensajes: 54
Registrado: 2009-03-06 23:16 @011

Publicidad

Re: Cómo perfilar el tiempo de ejecución en Perl

Notapor explorer » 2013-04-15 12:34 @565

Puedes usar el comando time desde la línea de comandos... O usar la función time() dentro del programa, al principio para tomar nota del momento en que arranca, y del final, para tomar nota de cuando acaba.

Existen los módulos de la familia http://search.cpan.org/search/?query=Benchmark&mode=all donde puedes hacer comparaciones de velocidad entre distintos algoritmos.

Pero el tema del perfilado es otra cosa: es saber en qué se está gastando el tiempo, dentro del programa. Hay varias herramientas, pero la más profesional es la Devel::NYTProf.

Usar expresiones regulares no siempre es garantía de ahorro de tiempo. Sí lo es de ahorro de tiempo de desarrollo -si tienes un buen programador-, pero no de ejecución. En muchos casos, una expresión regular es mucho más lenta que una búsqueda directa con index() o rindex(). Depende de cómo sean los datos a buscar, claro.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados