[GHC] #8733: I/O manager causes unnecessary syscalls in send/recv loops
GHC
ghc-devs at haskell.org
Tue Feb 4 17:11:36 UTC 2014
#8733: I/O manager causes unnecessary syscalls in send/recv loops
--------------------------------------------+------------------------------
Reporter: tibbe | Owner: simonmar
Type: bug | Status: new
Priority: normal | Milestone: 7.10.1
Component: Runtime System | Version: 7.6.3
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Runtime performance bug | Unknown/Multiple
Test Case: | Difficulty: Unknown
Blocking: | Blocked By:
| Related Tickets:
--------------------------------------------+------------------------------
Comment (by tibbe):
Replying to [comment:5 etrepum]:
> Is the IO manager the right layer to be approaching this from? Not all
protocols are going to be strictly request/response with no pipelining or
multiplexing like vanilla HTTP is.
>
> Why not implement this at a higher level in a library that encapsulates
these best practices for various sorts of protocols?
Good question. I considered this before filing the bug. One argument for
why this should work without user interaction, in addition to the standard
"it's nice if it just works" argument, is that if we didn't use the I/O
manager but instead normal blocking syscalls, we'd end up with better
behavior in this case.
> A good start may be to add this to the Performance Resource:
http://www.haskell.org/haskellwiki/Performance (which looks old but that's
what came up when I searched). Erlang publishes an Efficiency Guide that
is nice (but doesn't cover any networking topics)
http://erlang.org/doc/efficiency_guide/users_guide.html
I'm planning to add a note to the network package's docs when I find the
time.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8733#comment:9>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list