[GHC] #11095: -O0 -g slows GHC down on list literals (compared to -O0 without -g)

GHC ghc-devs at haskell.org
Sun Nov 15 16:39:41 UTC 2015


#11095: -O0 -g slows GHC down on list literals (compared to -O0 without -g)
-------------------------------------+-------------------------------------
        Reporter:  slyfox            |                Owner:
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  7.10.2
      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):
       Wiki Page:                    |
-------------------------------------+-------------------------------------
Changes (by slyfox):

 * failure:  None/Unknown => Compile-time performance bug


Comment:

 Result on "prof" flavour of ghc-HEAD build with '''-auto-all''' enabled:

 {{{

         Sun Nov 15 16:31 2015 Time and Allocation Profiling Report
 (Final)

            ghc-stage2 +RTS -p -RTS -B/home/slyfox/dev/git/ghc-
 prof/inplace/lib -hide-all-packages -c -g Bug.hs

         total time  =      304.82 secs   (304823 ticks @ 1000 us, 1
 processor)
         total alloc = 286,040,926,256 bytes  (excludes profiling
 overheads)

 COST CENTRE      MODULE       %time %alloc

 containsSpan     SrcLoc        32.1   55.2
 bindIO.\         GHC.Base      10.6    0.0
 ==               FastString     7.7   13.8
 tickishContains  CoreSyn        6.5    0.0
 mkTick.mkTick'   CoreUtils      6.4    6.9
 eqString         GHC.Base       5.9    0.0
 <=               GHC.Classes    4.4    0.0
 srcSpanStartLine SrcLoc         4.4    9.2
 uniq             FastString     3.8    9.2
 compareInt       GHC.Classes    3.6    0.0
 srcSpanFile      SrcLoc         3.0    0.0
 srcSpanEndLine   SrcLoc         2.3    4.6
 >=               GHC.Classes    1.5    0.0
 &&               GHC.Classes    1.4    0.0
 ==               GHC.Classes    1.2    0.0
 /=               CoreSyn        1.1    0.0

 ...
                    mapOL
 OrdList                         154083      917328    0.0    0.0    88.9
 99.6
                     wrapTicks.wrap
 CorePrep                        154085      915975    0.0    0.0    88.9
 99.6
                      wrapTicks.wrapBind
 CorePrep                        154086      915975    0.0    0.1    88.9
 99.6
                       mkTick
 CoreUtils                       154087      915975    1.0    0.0    88.8
 99.5
                        mkTick.canSplit
 CoreUtils                       154113      915975    0.0    0.0     0.0
 0.0
                         &&
 GHC.Classes                     154115      915975    0.0    0.0     0.0
 0.0
                         tickishCanSplit
 CoreSyn                         154114      915975    0.0    0.0     0.0
 0.0
                        mkTick.mkTick'
 CoreUtils                       154088   411894225    6.4    6.9    87.8
 99.5
                         tickishContains
 CoreSyn                         154120   821043225    6.5    0.0    78.6
 92.5
                          containsSpan
 SrcLoc                          154125   821037825   32.0   55.1    64.3
 92.5
 ...
 }}}

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


More information about the ghc-tickets mailing list