• Publicidad

Cómo calcular los microsegundos en Perl

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

Cómo calcular los microsegundos en Perl

Notapor andydavid » 2006-11-23 07:56 @372

Estimados compañeros. Les escribo por una duda que se me presentó en una aplicación matemática que desarrollo, la cual debe determinar el tiempo que tarda el sistema después de realizar algunos cálculos, hice el intento con localtime, antes y después de la ejecución tome el tiempo, resto los segundos y que creen me da cero o sea la ejecución tarda menos de 1 seg es por ello que les pregunto si conocen algún modulo o función que me permita obtener los microsegundos. :shock:
ESTUDIO CARACAS1348
Avatar de Usuario
andydavid
Perlero nuevo
Perlero nuevo
 
Mensajes: 20
Registrado: 2005-05-27 08:47 @408
Ubicación: RB_VENEZUELA

Publicidad

Notapor monoswim » 2006-11-23 09:20 @430

Prueba con el Bechmark

Código: Seleccionar todo
    use Benchmark;
    $t0 = new Benchmark;
    # ... your code here ...
    $t1 = new Benchmark;
    $td = timediff($t1, $t0);
    print "the code took:",timestr($td),"\n";


Te dice el tiempo y creo que el % de procesador y memoria...

Saludos
PD: Más info en http://search.cpan.org/~nwclark/perl-5. ... nchmark.pm
MonoSwim
Perl Programming Language
Avatar de Usuario
monoswim
Perlero nuevo
Perlero nuevo
 
Mensajes: 452
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires

Notapor explorer » 2006-11-23 09:33 @439

Si se trata de medir tiempos, yo usaría el módulo Benchmark. Pero el truco consistiría en hacer el cálculo unas 1000 veces, ya que los microsegundos (millonésimas de segundo) no es común encontrarlo en ordenadores personales. A lo sumo, milisegundos.

Depende también del sistema operativo. Si el sistema permite la llamada gettimeofday, entonces se puede usar el módulo Time::HiRes que es justo lo que necesitas.
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  use Time::HiRes qw( clock );
  my $clock0 = clock();
  ... # Hacer algo.
  my $clock1 = clock();
  my $clockd = $clock1 - $clock0;
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Gracias a todos

Notapor andydavid » 2006-11-23 10:46 @490

Bueno hermanos, gracias por su ayuda y por la rapidez con que respondieron.
Me funcionó perfectamente.
¡¡¡¡¡ Saludos a todos desde RB_Venezuela !!!!! :D
ESTUDIO CARACAS1348
Avatar de Usuario
andydavid
Perlero nuevo
Perlero nuevo
 
Mensajes: 20
Registrado: 2005-05-27 08:47 @408
Ubicación: RB_VENEZUELA


Volver a Avanzado

¿Quién está conectado?

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