
#8733: I/O manager causes unnecessary syscalls in send/recv loops -------------------------------------+------------------------------------ Reporter: tibbe | Owner: simonmar Type: bug | Status: new Priority: normal | Milestone: Component: Runtime System | Version: 7.6.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Comment (by carter): yeah, you're right. In which case, might it make sense to have clear breadcrumbs for this technique in network or the like? eg (a strawman mind you) {{{ withYield :: IO a-> IO () withYield m = do m ; yield }}} this is probably the most wrong way possible, but I don't mean it as a serious suggestion. Merely that making yield more visible in the api surface might be a "social" approach to mitigate things. Eg, its always safe to add yields to code, but as you say, its not a good idea to just sprinkle it around. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8733#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler