
#8733: I/O manager causes unnecessary syscalls in send/recv loops --------------------------------------------+------------------------------ Reporter: tibbe | Owner: 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: --------------------------------------------+------------------------------ Changes (by simonmar): * owner: simonmar => Comment: Hmm. Isn't it application-specific knowledge that the recv() is going to block? I'm not sure what it is you're proposing that the IO manager should do, could you elaborate?
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.
If you used blocking syscalls you'd end up with much worse scaling, that's why we have the IO manager, no? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8733#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler