[GHC] #10293: CallArity taking 20% of compile time

GHC ghc-devs at haskell.org
Thu Apr 16 19:55:22 UTC 2015


#10293: CallArity taking 20% of compile time
-------------------------------------+-------------------------------------
        Reporter:  simonpj           |                   Owner:  nomeata
            Type:  bug               |                  Status:  merge
        Priority:  high              |               Milestone:  7.12.1
       Component:  Compiler          |                 Version:  7.10.1
      Resolution:  fixed             |                Keywords:
Operating System:  Unknown/Multiple  |            Architecture:
 Type of failure:  None/Unknown      |  Unknown/Multiple
      Blocked By:                    |               Test Case:
 Related Tickets:                    |                Blocking:
                                     |  Differential Revisions:
-------------------------------------+-------------------------------------

Comment (by michalt):

 Thanks for CCing me and sorry for the delay (unfortunately the email
 landed in spam).
 Anyway, I've rebuilt ghc (build flavor prof) and I can confirm that your
 changes improve the performance significantly:

 {{{
         Thu Apr 16 21:48 2015 Time and Allocation Profiling Report
 (Final)

            ghc +RTS -p -RTS [...]

         total time  =      121.66 secs   (121660 ticks @ 1000 us, 1
 processor)
         total alloc = 132,375,235,176 bytes  (excludes profiling
 overheads)

 COST CENTRE       MODULE       %time %alloc

 SimplTopBinds     SimplCore     38.8   37.5
 lintAnnots        CoreLint       5.5    6.0
 CoreTidy          HscMain        5.2    6.7
 pprNativeCode     AsmCodeGen     3.8    4.4
 OccAnal           SimplCore      3.8    4.0
 occAnalBind.assoc OccurAnal      3.1    3.3
 StgCmm            HscMain        2.8    2.4
 Simplify          SimplCore      2.5    0.3
 RegAlloc          AsmCodeGen     2.5    3.1
 FloatOutwards     SimplCore      2.4    2.1
 regLiveness       AsmCodeGen     2.3    2.5
 tc_rn_src_decls   TcRnDriver     2.3    1.7
 sink              CmmPipeline    2.1    2.0
 CallArity         SimplCore      1.7    3.1
 NewStranal        SimplCore      1.6    1.9
 genMachCode       AsmCodeGen     1.4    1.3
 layoutStack       CmmPipeline    1.2    1.3
 NativeCodeGen     CodeOutput     1.1    1.1
 FloatInwards      SimplCore      1.0    1.2
 Digraph.scc       Digraph        0.7    1.2
 }}}

 So it's still slower than GHC 7.8.4, but now `CallArity` is pretty low in
 the list. :-)

 (For the record, steps to reproduce: build GHC with build flavor prof and
 add +RTS -p -RTS to the cabal file of haskell-src-exts, then compile it.
 The ghc.prof file contains the information.)

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


More information about the ghc-tickets mailing list