Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
Any help or suggestions would be greatly appreciated.
Thanks!
#!C:/perl/bin/perl.exe use warnings; use strict; use threads; use threads::shared; use Net::SNMP; use Time::HiRes qw(usleep gettimeofday tv_interval); my $t0s : shared = 1; my $t1s : shared = 1; my $t0m : shared = 1; my $t1m : shared = 1; my $rest : shared = 1; my $elapsedtime : shared = 1; my $tmp : shared = 1; my $gen = 0; my $src = '18.42.246.82'; my $dest = '18.42.248.124'; my $iterations = 2; my $sec = 1000000; my $sleep = ( $sec / ($iterations * 2)); my $t0 = [gettimeofday]; my ($t0secs, $t0micro) = gettimeofday; my $thr = threads->create(\&sendTrap, $gen, $src, $dest, $iterations); my $thr2 = threads->create(\&sendTrap, $gen, $src, $dest, $iterations) +; $thr->join; $thr2->join; my $t1 = [gettimeofday]; my $elapsed = tv_interval $t0, $t1; print "\nTotal Elapsed Time: $elapsed\n"; # Should be close to one sec +cond sub sendTrap { my ($gen, $src, $dest, $i) = @_; for(1..$i) { ($t0s, $t0m) = gettimeofday; lock($t0m); my $oid = '1.3.6.1.4'; my @trapvars = (); my ($session, $error) = Net::SNMP->session( -hostname => $dest, -community => 'public', -port => 162 ); if (!defined($session)) { printf("ERROR: %s.\n", $error); exit 1; } my $result = $session->trap( -enterprise => $oid, -agentaddr => $src, -generictrap => $gen, -specifictrap => '0', -varbindlist => \@trapvars ); if (!defined($result)) { printf("ERROR: %s.\n", $session->error); $session->close; exit 1; } $session->close; ($t1s, $t1m) = gettimeofday; lock($t1m); lock($elapsedtime); $elapsedtime = $t1m - $t0m; if ($elapsedtime =~ /\-/) { lock($tmp); $tmp = $elapsed; $tmp =~ s/\-//; $elapsedtime = 1000000 - $tmp; } print "\n\nStart Sleep: $sleep\n"; print "Elapsed Time: $elapsedtime\n"; lock($rest); $rest = ($sleep - $elapsedtime); print "Net Sleep: $rest\n"; usleep $rest; } }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: sleep and timing?
by BrowserUk (Patriarch) on Nov 23, 2005 at 14:48 UTC | |
by Anonymous Monk on Nov 23, 2005 at 15:27 UTC | |
by BrowserUk (Patriarch) on Nov 23, 2005 at 16:26 UTC | |
by Anonymous Monk on Nov 23, 2005 at 17:45 UTC | |
|
Re: sleep and timing?
by zentara (Cardinal) on Nov 23, 2005 at 14:06 UTC |