[GHC] #7258: Compiling DynFlags is jolly slow

GHC ghc-devs at haskell.org
Wed Oct 25 11:40:19 UTC 2017


#7258: Compiling DynFlags is jolly slow
-------------------------------------+-------------------------------------
        Reporter:  simonpj           |                Owner:  simonpj
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  7.6.1
      Resolution:                    |             Keywords:  deriving-perf
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by simonpj):

 >  the t-10-XXXX examples are maybe too small to produce useful metrics,

 I wasn't measuring performance; I was just eye-balling the (identical)
 code.

 > The profiler breakdown looks radically different between the optimized
 and unoptimized versions, for *all* examples

 OK, so there are two perhaps-different problems

 * With -O compiling `DynFlags` is jolly slow.  (The original bug report.)

 * Without -O we get non-linear stuff going on (comment:43)

 I think the -O case is the higher-priority item.   (Though I accept that
 compiling without -O is supposed to be fast.)

 I would stick to -O for now, not -O2.  The latter involves `SpecConstr`
 and `LiberateCase` both of which can generate a lot of code.  Again let's
 not ignore -O2 but let's nail -O first.

 So what do the -O graphs look like?

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


More information about the ghc-tickets mailing list