[GHC] #8733: I/O manager causes unnecessary syscalls in send/recv loops

GHC ghc-devs at haskell.org
Tue Feb 4 06:09:39 UTC 2014


#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


More information about the ghc-tickets mailing list