Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re^2: $SIG{'ALRM'} on FreeBSD

by b888 (Beadle)
on Feb 24, 2006 at 13:38 UTC ( [id://532537]=note: print w/replies, xml ) Need Help??


in reply to Re: $SIG{'ALRM'} on FreeBSD
in thread $SIG{'ALRM'} on FreeBSD

Well, i thought the mistake is in my approach of usage of alrm signal, that's why i pasted only part where i used it. Sorry :) In fact i can't simulate that situation myself. But it happend on 3 servers already (all under freebsd) and not even on 1 from 4 under Linux.

Maybe you can suggest me another way of usage of timeout-ed operations? Means when need to limit time of execution of some subs. And limit for time smaller then second.

p.s. my "d" sub :)

sub time_stamp { my $time = shift; $time = time() if ! defined $time; my ($sec, $min, $hour, $mday, $mon, $year) = localtime($time); return sprintf("%02d:%02d:%02d %02d/%02d/%04d", $hour, $min, $sec, $mday, $mon+1, $year+1900); } sub d { print "[".time_stamp()."] ".(caller(0))[0].", "; print shift; print "\n"; }

Replies are listed 'Best First'.
Re: $SIG{'ALRM'} on FreeBSD
by jonadab (Parson) on Feb 24, 2006 at 15:48 UTC

    After some experimentation, I have concluded that on my system the resolution of select undef,undef,undef,$fractionalsecond goes down to something on the order of 1/300 of a second, give or take. This is an estimate, and I haven't done proper benchmarks, and YMMV.

    perl -e ' my $times = 5000; print "Starting: " . localtime() . "\n"; for (1..$times) { select undef,undef,undef,1/$times; } print "Done: " . localtime() . "\n"; ' Starting: Fri Feb 24 10:54:56 2006 Done: Fri Feb 24 10:55:06 2006

    About ten seconds to do 5000 iterations, would lead me to say 500 iterations per second would be the limit (on this system), but if I set $times to 300 it takes a full second or slightly more, so there's some overhead making the calculation imprecise. HTH.HAND.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://532537]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (5)
As of 2024-04-19 02:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found