[GHC] #14068: Loopification using join points
GHC
ghc-devs at haskell.org
Wed Mar 21 15:39:46 UTC 2018
#14068: Loopification using join points
-------------------------------------+-------------------------------------
Reporter: nomeata | Owner: nomeata
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.0.1
Resolution: | Keywords: JoinPoints
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: #13966 #14067 | Differential Rev(s): Phab:D3811
#14827 |
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by nomeata):
And, to add numbers to this: Running !SpecConstr on top-level non-
recursive functions and running it twice (with simplification in between)
improves `x2n1` allocations by 45%, compared to just loopification, and
fixes some of the other regressions:
https://perf.haskell.org/ghc/#compare/9245c4bbc2156b3b84f253c97cc2ee8bd8b7dd98/0f1fee6be3df20837543ede7223a827abb6a4759.
[https://perf.haskell.org/ghc/#compare/abaf43d9d88d6fdf7345b936a571d17cfe1fa140/0f1fee6be3df20837543ede7223a827abb6a4759
Overall], the whole branch has a few promising improvements of ~7%, but
also still some egregious regressions that need to be tracked down
(`queens` +240%). And it is of course not immediately clear which of the
improvements are due to loopification, and which are independent of
loopification and due to the changes to !SpecConstr. But in any ways we
need to conclude the !SpecConstr story first and see what, if anything at
all, we want to change there.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14068#comment:46>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list