http://www.perlmonks.org?node_id=987931


in reply to How to sleep 1 microsecond?

Did you actually try nanosleep(1000000); ? I didn't see that in your sample.

Replies are listed 'Best First'.
Re^2: How to sleep 1 microsecond?
by davido (Cardinal) on Aug 17, 2012 at 08:06 UTC

    One microsecond should be 1000 nanoseconds.


    Dave

      Hi, the sample codes above use usleep. Here is the program using nanosleep.

      #!/usr/bin/perl use strict; use warnings; use Time::HiRes qw(usleep nanosleep gettimeofday); my @start = gettimeofday (); my $sleep = nanosleep(1000); my @end = gettimeofday (); print "[$sleep][@start][@end]\n"; Results: [1000][1345190945 846575][1345190945 846739]

      Compared with the codes that just get the timestamps two times(without the nanosleep line). The nanosleep actually sleeps much longer than 1 microsecond.

      #!/usr/bin/perl use strict; use warnings; use Time::HiRes qw(usleep nanosleep gettimeofday); my @start = gettimeofday (); my @end = gettimeofday (); print "[@start][@end]\n"; Results: [1345190988 610721][1345190988 610723]
      You're totally right, sorry. I just checked Google!