[GHC] #14003: Allow more worker arguments in SpecConstr
GHC
ghc-devs at haskell.org
Fri Jul 21 21:05:57 UTC 2017
#14003: Allow more worker arguments in SpecConstr
-------------------------------------+-------------------------------------
Reporter: choenerzs | Owner: (none)
Type: feature request | Status: new
Priority: normal | Milestone: 8.2.2
Component: Compiler | Version: 8.2.1-rc3
Resolution: | Keywords: JoinPoints,
| Fusion
Operating System: Unknown/Multiple | Architecture:
Type of failure: Runtime | Unknown/Multiple
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: #11565 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Changes (by bgamari):
* related: => #11565
Comment:
> The function `wstream_Strng2_V_1` becomes more than x10 faster if
specconstr runs to completion and allocates *a lot* less (in my allocation
benchmark it is 48 bytes versus ~ 600 Kilo-bytes . It has arity 18 after
full SpecConstr.
Where is this `wstream_Strng2_V_1` function that you refer to? It would be
helpful to see a concrete example.
> And no, 8.0.2 fully specialises irrespective of the number of worker
arguments. Specialisation in 8.2 depends on the number of arguments the
pattern to be specialised has.
This change is due to two causes:
* a48de37dcca98e7d477040b0ed298bcd1b3ab303, which fixes #11565 where
`-fmax-worker-args` was simply ignored
* f93c363fab1ac8ce6f0b474f5967b0b097995827, which extended the reach of
`-fmax-worker-args` to include SpecConstr in order to improve compiler
performance.
Perhaps you want the SpecConstr limit to be independent from the
worker/wrapper limit?
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14003#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list