[GHC] #12754: Adding an explicit export list halves compilation time.

GHC ghc-devs at haskell.org
Fri Nov 18 16:29:45 UTC 2016


#12754: Adding an explicit export list halves compilation time.
-------------------------------------+-------------------------------------
        Reporter:  mpickering        |                Owner:  mpickering
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.0.1
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  phab:D2657
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Matthew Pickering <matthewtpickering@…>):

 In [changeset:"4b72f859cd03ad3104c3935ea83ede68d0af6220/ghc" 4b72f85/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="4b72f859cd03ad3104c3935ea83ede68d0af6220"
 Optimise whole module exports

 We directly build up the correct AvailInfos rather than generating
 lots of singleton instances and combining them with expensive calls to
 unionLists.

 There are two other small changes.

 * Pushed the nubAvails call into the explicit export list
   branch as we construct them correctly and uniquely ourselves.
 * fix_faminst only needs to check the first element of the export
   list as we maintain the (yucky) invariant that the parent is the
   first thing in it.

 Reviewers: simonpj, austin, bgamari

 Reviewed By: simonpj, bgamari

 Subscribers: simonpj, thomie, niteria

 Differential Revision: https://phabricator.haskell.org/D2657

 GHC Trac Issues: #12754
 }}}

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


More information about the ghc-tickets mailing list