[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