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 |