[GHC] #7450: Regression in optimisation time of functions with many patterns (6.12 to 7.4)?
GHC
ghc-devs at haskell.org
Tue Jun 23 14:53:19 UTC 2015
#7450: Regression in optimisation time of functions with many patterns (6.12 to
7.4)?
-------------------------------------+-------------------------------------
Reporter: iustin | Owner:
Type: bug | Status: new
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:
-------------------------------------+-------------------------------------
Comment (by simonpj):
Ben, good work. I think you said that the culprit is `consDictBind`.
Here are some ideas:
* `snocDictBinds is only ever called with a singleton argument. Nuke it
in favour of `snocDictBind`.
* The calls to `snocDictBind` in `specBind` have just called
`flattenDictBinds` which stupidly throws away all the free varaible
information cached in the `DictBind`. Better to keep it! To achieve that
* `snocDictBind` should take a `DictBind` not a `CoreBind`
* `flattenDictBinds` should return a `DictBind` not a `CoreBind`. This
is the place we are discarding the free var info. Instead, keep it!
Does that make sense?
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/7450#comment:15>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list