Default FD buffer size is not a power of 2
From https://hackage.haskell.org/package/base-4.9.1.0/docs/src/GHC.IO.FD.html
-- We used to use System.Posix.Internals.dEFAULT_BUFFER_SIZE, which is
-- taken from the value of BUFSIZ on the current platform. This value
-- varies too much though: it is 512 on Windows, 1024 on OS X and 8192
-- on Linux. So let's just use a decent size on every platform:
dEFAULT_FD_BUFFER_SIZE :: Int
dEFAULT_FD_BUFFER_SIZE = 8096
8096 is not a power of two, and does not agree with the original commit message that sets it to 8KB (https://github.com/ghc/ghc/blame/master/libraries/base/GHC/IO/FD.hs#L119).
Confirmed by Simon Marlow on IRC that this is a typo, a mix between 8192 and 4096.
I'll send a patch to set it to 8192.
It would be nice if the fix could be released in both GHC 8.2 and and 8.0.3.
Trac metadata
Trac field | Value |
---|---|
Version | 8.0.2 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Runtime System |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | nh2, simonmar |
Operating system | |
Architecture |