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

GHC ghc-devs at haskell.org
Tue Jan 14 14:21:42 UTC 2014


#1600: Optimisation: CPR the results of IO
-------------------------------------+-------------------------------------
        Reporter:  simonmar          |            Owner:  nomeata
            Type:  task              |           Status:  new
        Priority:  lowest            |        Milestone:  7.6.2
       Component:  Compiler          |          Version:  6.6.1
      Resolution:                    |         Keywords:
Operating System:  Unknown/Multiple  |     Architecture:  Unknown/Multiple
 Type of failure:  Runtime           |       Difficulty:  Moderate (less
  performance bug                    |  than a day)
       Test Case:                    |       Blocked By:
        Blocking:                    |  Related Tickets:  #8598
-------------------------------------+-------------------------------------

Comment (by nomeata):

 Bummer. While finding out what happened to `wave4main`, I noticed that I
 introduced a bug (well, imprecision) where `Converges` information was
 lost. This prevented nested CPR in `wave4main`, and everything looked
 good. Fixing that bug gives us back the +11.3% for `wave4main`, and also a
 +0.2% for `scs`. So it remains all very heuristical...

 The change in `scs` is hard to pin-point, as there is quite a bit of
 CPR’ing going on which moves allocations between different ticky-ticky-
 counters. But in the summary, we see an increase in `ALLOC_FUN_gds` again,
 and there are `$wgo` popping up where there were none, so this indicates
 lost join points. (Also interesting: `ALLOC_CON_ctr` goes up, but
 `ALLOC_CON_gds` goes down.)

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


More information about the ghc-tickets mailing list