![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
use Time::HiRes qw( usleep ualarm gettimeofday tv_interval );
usleep ($microseconds);
ualarm ($microseconds); ualarm ($microseconds, $interval_microseconds);
$t0 = [gettimeofday]; ($seconds, $microseconds) = gettimeofday;
$elapsed = tv_interval ( $t0, [$seconds, $microseconds]); $elapsed = tv_interval ( $t0, [gettimeofday]); $elapsed = tv_interval ( $t0 );
use Time::HiRes qw ( time alarm sleep ); $now_fractions = time; sleep ($floating_seconds); alarm ($floating_seconds); alarm ($floating_seconds, $floating_interval);
Time::HiRes
package implements a Perl interface to the usleep, ualarm, and gettimeofday
system calls. See the EXAMPLES section below and the test scripts for
usage; see your system documentation for the description of the underlying
gettimeofday, usleep, and ualarm calls.
If your system lacks gettimeofday()
you don't get
gettimeofday()
or the one-arg form of
tv_interval().
If you don't have usleep()
or
select()
you don't get usleep()
or
sleep().
If you don't have ualarm()
you don't get
ualarm()
or alarm().
If you try to import an
unimplemented function in the use
statement it will fail at compile time.
$floating_seconds
to microseconds and issues a usleep
for the result. This function can be imported, resulting in a nice drop-in
replacement for the sleep provided with perl, see the EXAMPLES below.
$floating_seconds
and
$interval_floating_seconds
and issues a ualarm for the
results. $interval_floating_seconds
is optional and will be 0
if unspecified, resulting in alarm-like behaviour. This function can be
imported, resulting in a nice drop-in replacement for the alarm provided with perl, see the EXAMPLES below.
use Time::HiRes qw(usleep ualarm gettimeofday tv_interval);
$microseconds = 750_000; usleep $microseconds;
# signal alarm in 2.5s & every .1s thereafter ualarm 2_500_000, 100_000;
# get seconds and microseconds since the epoch ($s, $usec) = gettimeofday;
# measure elapsed time # (could also do by subtracting 2 gettimeofday return values) $t0 = [gettimeofday]; # do bunch of stuff here $t1 = [gettimeofday]; # do more stuff here $t0_t1 = tv_interval $t0, $t1; $elapsed = tv_interval ($t0, [gettimeofday]); $elapsed = tv_interval ($t0); # equivalent code
# # replacements for time, alarm and sleep that know about floating seconds # use Time::HiRes; $now_fractions = Time::HiRes::time; Time::HiRes::sleep (2.5); Time::HiRes::alarm (10.6666666); use Time::HiRes qw ( time alarm sleep ); $now_fractions = time; sleep (2.5); alarm (10.6666666);
$Log: HiRes.pm,v $ Revision 1.10 1997/05/23 01:11:38 wegscd Conditional compilation; EXPORT_FAIL fixes.
Revision 1.10 1997/05/23 00:53:19 wegscd Add conditional compilation, fix EXPORT_FAIL, misc cleanup.
Revision 1.2 1996/12/30 13:28:40 wegscd Update documentation for what to do
when missing ualarm()
and friends.
Revision 1.1 1996/10/17 20:53:31 wegscd Fix =head1 being next to __END__ so pod2man works
Revision 1.0 1996/09/03 18:25:15 wegscd Initial revision