[GHC] #9872: Runing type functions is too slow

GHC ghc-devs at haskell.org
Wed Dec 10 16:00:22 UTC 2014


#9872: Runing type functions is too slow
-------------------------------------+-------------------------------------
              Reporter:  simonpj     |            Owner:
                  Type:  bug         |           Status:  new
              Priority:  normal      |        Milestone:
             Component:  Compiler    |          Version:  7.8.3
            Resolution:              |         Keywords:
      Operating System:              |     Architecture:  Unknown/Multiple
  Unknown/Multiple                   |       Difficulty:  Unknown
       Type of failure:              |       Blocked By:
  None/Unknown                       |  Related Tickets:
             Test Case:              |
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------

Comment (by Simon Peyton Jones <simonpj@…>):

 In [changeset:"13b0b460d365828c7d41b39d2ce7d5bbe4c69f98/ghc"]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="13b0b460d365828c7d41b39d2ce7d5bbe4c69f98"
 Reorganise the work list, so that flattening goals are treated in the
 right order

 Trac #9872 showed the importance of processing goals in depth-first, so
 that
 we do not build up a huge pool of suspended function calls, waiting for
 their
 children to fire.  There is a detailed explanation in
      Note [The flattening work list]
 in TcFlatten

 The effect for Trac #9872 (slow1.hs) is dramatic.  We go from too long
 to wait down to 28Gbyte allocation.  GHC 7.8.3 did 116Gbyte allocation!
 }}}

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


More information about the ghc-tickets mailing list