[GHC] #7450: Regression in optimisation time of functions with many patterns (6.12 to 7.4)?

GHC ghc-devs at haskell.org
Mon Jul 6 10:19:55 UTC 2015


#7450: Regression in optimisation time of functions with many patterns (6.12 to
7.4)?
-------------------------------------+-------------------------------------
        Reporter:  iustin            |                   Owner:  bgamari
            Type:  bug               |                  Status:  patch
        Priority:  normal            |               Milestone:  7.12.1
       Component:  Compiler          |                 Version:  7.6.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 Revisions:  Phab:D1012
-------------------------------------+-------------------------------------

Comment (by bgamari):

 I finally had a chance to look further into this. It seems that after the
 fix `CmmPipeline.doRTs` may still be non-linear.

 With 2048 constructors,
 {{{
 COST CENTRE          MODULE       %time %alloc

 lintAnnots           CoreLint      12.5   20.4
 doSRTs               CmmPipeline   11.6   16.9
 FloatOutwards        SimplCore      6.3    2.0
 simplLetUnfolding    Simplify       4.5    2.7
 pprNativeCode        AsmCodeGen     4.3    5.0
 completeBind         Simplify       4.1    2.0
 StgCmm               HscMain        3.3    2.7
 ...
 }}}

 With 4096 constructors,

 {{{
 COST CENTRE          MODULE       %time %alloc

 doSRTs               CmmPipeline   23.0   33.0
 lintAnnots           CoreLint      16.9   26.5
 FloatOutwards        SimplCore      7.8    1.6
 completeBind         Simplify       4.0    1.2
 simplLetUnfolding    Simplify       3.9    1.6
 pprNativeCode        AsmCodeGen     3.3    3.3
 ...
 }}}

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


More information about the ghc-tickets mailing list