[GHC] #9476: Implement late lambda-lifting

GHC ghc-devs at haskell.org
Thu Dec 6 16:42:28 UTC 2018


#9476: Implement late lambda-lifting
-------------------------------------+-------------------------------------
        Reporter:  simonpj           |                Owner:  sgraf
            Type:  feature request   |               Status:  closed
        Priority:  normal            |            Milestone:  8.8.1
       Component:  Compiler          |              Version:  7.8.2
      Resolution:  fixed             |             Keywords:  LateLamLift
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Runtime           |  Unknown/Multiple
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #8763 #13286      |  Differential Rev(s):  Phab:D5224
       Wiki Page:  LateLamLift       |
-------------------------------------+-------------------------------------

Comment (by sgraf):

 The `-F1 -A1M` trick (hat tip in direction of Simon Marlow) for measuring
 residency discussed on [https://mail.haskell.org/pipermail/ghc-
 devs/2018-December/016639.html ghc-dev] is much more accurate.

 It seems that the difference in residency isn't as big as I thought; In
 the `./paraffins 19` setup, it's 196MB in both cases, with just a little
 bit more residency (I measured 300kb difference, I'm not confident this is
 really accurate or measurable) when we ignore possible closure growth.

 For `wheel-sieve1`, the difference in residency also is about 300kb, of
 12.6MB. (Still, 30% more allocations in total.)

 So it seems that we produce significantly more garbage in some cases, but
 residency stays about the same. On the other hand, producing more garbage
 means more frequent Gen 0 collects. That's also evident by the number of
 collections in `-F1 -A1M`: 42 vs. 55 when ignoring closure growth.

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


More information about the ghc-tickets mailing list