[GHC] #1600: Optimisation: CPR the results of IO

GHC ghc-devs at haskell.org
Fri Nov 9 09:16:11 UTC 2018


#1600: Optimisation: CPR the results of IO
-------------------------------------+-------------------------------------
        Reporter:  simonmar          |                Owner:  (none)
            Type:  task              |               Status:  new
        Priority:  lowest            |            Milestone:
       Component:  Compiler          |              Version:  6.6.1
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Runtime           |  Unknown/Multiple
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #8598             |  Differential Rev(s):  Phab:D4244
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by mpickering):

 Sebastian says that this patch got parked because of a few reasons. Anyone
 interested in picking up this ticket can see a source of ideas in the
 linked differential. https://phabricator.haskell.org/D4244

 He says:

 * I wasn't sure I understood everything that was going in that patch
 * There were several 'improvements' that were independent of nested CPR
 that we wanted to test in isolation (#15001, D4563, D4565)
 * I felt strongly against complicating demand analysis any further. I
 remember there was this horrible special case for `case` expressions
 ([https://phabricator.haskell.org/D4244#inline-35408 klick]) that IMO
 shows that CPR analysis, as opposed to Usage/Strictness analysis, is a
 forward analysis. Also there's this 'virgin run', which basically means we
 run the demand analyser twice anyway, because CPR relies on strictness
 info being available. That's why I strongly argue that we should split off
 CPR analysis first before implementing nested CPR.

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/1600#comment:82>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list