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.
|
|---|