Constant overhead of threadDelay
On x86/MacOS 10.4.10, the function Control.Concurrenct.threadDelay has a constant overhead of 100-200ms. Consequently, the observed delay is 100-200ms longer than the specified delay and 100-200ms is the minimum delay that can be realised.
When run under ktrace
, the Haskell process spends the time in a larger number of poll-like select()
calls. I observed around 2800 select()
calls for threadDelay 1
.
Trac metadata
Trac field | Value |
---|---|
Version | 6.7 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | low |
Resolution | Unresolved |
Component | libraries/base |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |