Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re^5: pipe fork win32

by bulk88 (Priest)
on Aug 26, 2012 at 15:10 UTC ( [id://989834]=note: print w/replies, xml ) Need Help??


in reply to Re^4: pipe fork win32
in thread pipe fork win32

Marshall was complaining about an abnormally long sleep. While you are correct that sleep never guarantees a maximum time, only a minimum time, there must be a reasonable standard to which sleep must be expected to return control on a normal system. If you specify 1 second and got 4 seconds (Marshall's time), and there are no external reasons on that system (nice'd process at 100% CPU), then something else must be happening. A CPU timeslice is around 10-50 milliseconds on Windows http://support.microsoft.com/kb/259025, MS admits the time is updated only on a context switch http://msdn.microsoft.com/en-us/library/windows/desktop/ms724408%28v=vs.85%29.aspx. I just pointed out that on Windows systems with problematic clocks and scheduling, Perl's sleep likes to take many times longer than it should and there might be bug on why that happens. It is a known problem, http://www.nntp.perl.org/group/perl.daily-build.reports/2012/08/msg126306.html
# Failed test 4 - right time (waited 1 secs for 3-sec alarm) at op/ +alarm.t line 55 op/alarm.t........... Failed 1/5 subtests
# Failed test 2 - right time (waited 5 secs for 3-sec alarm) at op/ +alarm.t line 35 op/alarm.t ........................................................ Failed 1/5 subtests
And that system has been having a randomly failing alarm.t since, forever I think.

If a GUI program that is not doing anything CPU or I/O intensive randomly stops responding to mouse movement for 4 seconds, it would be completely unacceptable. Clearly the OS manufacturer (Microsoft) did not design the OS to ever do that, so other app specific causes should be considered. I couldn't tell whether Marshall's scripts output was done with his ping backticks delay or whether with a sleep(), I assumed sleep() since he claimed he rebooted and sleep() starting working accurately again.

Replies are listed 'Best First'.
Re^6: pipe fork win32
by BrowserUk (Patriarch) on Aug 26, 2012 at 16:02 UTC
    on Windows systems with problematic clocks and scheduling,

    Where do you get that &^*(&&*^*^ from? The failing tests you mention are Perl's failures not those of the OS.

    Blaming the OS for those failures is like driving drunk, stoned and blindfolded and blaming the car for the crash.


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    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.

    RIP Neil Armstrong

    div

Log In?
Username:
Password:

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

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

    No recent polls found