• Publicidad

Cronometrar el tiempo de una operación

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Cronometrar el tiempo de una operación

Notapor xigr » 2006-03-08 10:25 @475

Hola a todos de nuevo.

Estaba buscando y no encuentro (supongo que no habré sabido buscar bien) alguna función para poder cronometrar el tiempo que estoy en cada telnet que hago para después mostrar un total.

¿Existe algo así? En algunas ocasiones me sería muy útil para poder hacer estimaciones de tiempo al lanzar configuraciones de forma masiva.

Gracias,
iñaki
xigr
Perlero nuevo
Perlero nuevo
 
Mensajes: 42
Registrado: 2006-02-03 02:51 @160

Publicidad

Notapor xigr » 2006-03-08 10:27 @477

Antes lo digo... que antes lo encuentro ¬¬ si es que.... A ver si me apaño.

viewtopic.php?t=566&highlight=cronometrar

pero comenta algo de un módulo. Una vez quise poner varios y no me funcionaban las variables :s ¿Es posible que al poner dos diferentes sean incompatibles? Siempre uso los de Net::Telnet

¡Gracias!
xigr
Perlero nuevo
Perlero nuevo
 
Mensajes: 42
Registrado: 2006-02-03 02:51 @160

Re: Cronometrar el tiempo de una operación

Notapor explorer » 2006-03-08 12:47 @574

En el fichero /var/log/lastlog suele quedar registrado los tiempos de conexión.

Podría ser una pista...
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

Notapor macgregor » 2006-03-09 07:24 @350

viewtopic.php?t=500

Este enlace es un enlace hacia la sección de módulos de este foro.

En el ejemplo aparece cómo utilizar el cronómetro del módulo que hice.

Solo hay que importar el módulo que su usa sin instalar y jugar con las instrucciones iniciar, parar y mostrar.
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. $crono=Nuevo Cronometro;
  2. $crono->Iniciar();
  3. $crono->Parar();
  4. $crono->Mostrar();
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Échale un vistazo, igual te gusta :D

Puedes definirte tantos cronómetros como quieras y usarlos en cualquier parte de tu código.


Un saludo.
MACGREGOR [TM]
Avatar de Usuario
macgregor
Perlero nuevo
Perlero nuevo
 
Mensajes: 80
Registrado: 2004-12-09 07:32 @355
Ubicación: españa

Notapor kidd » 2006-03-09 10:43 @488

Hola.

También te podría recomendar que uses el módulo Time::HiRes, me gusta especialmente pues te permite cronometrar hasta milisegundos.
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use Time::HiRes qw( usleep ualarm gettimeofday tv_interval );
  2.  
  3. my $t0 = [gettimeofday];
  4.  
  5. for my $i ( 1 .. 1000000 ) {
  6.     $i = $i / 2 * 4;
  7. }
  8.  
  9. my ( $seconds, $microseconds ) = gettimeofday;
  10. my $elapsed = tv_interval( $t0, [ $seconds, $microseconds ] );
  11.  
  12. my $segundos = sprintf( "%.2f", $elapsed );
  13.  
  14. print "Las operaciones incoherentes tomaron $segundos segundos en ejecutarse\n";
  15.  
  16. exit(1);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Resultado:
Las operaciones incoherentes tomaron 0.83 segundos en ejecutarse


SALUDOS
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor xigr » 2006-03-10 09:34 @440

:o ¡Gracias! Ahora mismito me pongo a hacer pruebas :P

Muchas gracias :D :D
xigr
Perlero nuevo
Perlero nuevo
 
Mensajes: 42
Registrado: 2006-02-03 02:51 @160


Volver a Básico

¿Quién está conectado?

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