[GHC] #14644: Improve cmm/assembly for pattern matches with two constants.
GHC
ghc-devs at haskell.org
Tue Jan 9 20:28:21 UTC 2018
#14644: Improve cmm/assembly for pattern matches with two constants.
-------------------------------------+-------------------------------------
Reporter: AndreasK | Owner: AndreasK
Type: task | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.2.2
(CodeGen) | Keywords: Codegen, CMM,
Resolution: | Patterns, Pattern Matching
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D4294
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by AndreasK):
Replying to [comment:6 simonpj]:
> A 10% improvement is amazing.
Indeed! Nothing in nofib gets up to 10% but wheel-sieve1 comes close.
* 17 programs are changed (contain that kind of case statement)
* 15 Show no significant runtime difference. (It's fair to assume it's an
improvement but not mensurable with the noise on my machine)
* k-nucleotide improves by ~1.2%
* wheel-sieve1 has the code in a inner loop. It improves by ~4.3% in
mode=normal. Increasing the problem size makes the difference even bigger
up to somewhere around 8-9%
>
> If you commit this, please include a Note explaining the strategy, and
pointing to the ticket.
Will do.
****
The patch is up on phab. If someone can run this on an older intel (or
even better amd) processor and check the result that would be great to
make sure it's not just a pecularity of my i7-6700K.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14644#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list