Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re^9: Unexpected Timing spikes using Time::HiRes

by BrowserUk (Pope)
on Jan 22, 2010 at 01:51 UTC ( #818864=note: print w/replies, xml ) Need Help??

in reply to Re^8: Unexpected Timing spikes using Time::HiRes
in thread Unexpected Timing spikes using Time::HiRes

is there any way to read from a non-blocking socket without sleeping?

Yes. (Kinda:). See select or easier, IO::Select::can_read([TIMEOUT]). can_read() will block until there is some data available to be read, or the timeout elapses (if you suppy one). In reality, it is just doing the sleep for you.

As for timing your ping tool. I think you are being way optimistic if you are expecting to detect server errors within less than 100th of a second. That's effectively what you are saying when you are concerned about a 15ms delay.

Even on a modern Gb/s LANs taking action on the basis of a delay of much less than 1/10th of a second would be wildly premature.

Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2020-01-24 02:32 GMT
Find Nodes?
    Voting Booth?