[GHC] #14152: Float exit paths out of recursive functions
GHC
ghc-devs at haskell.org
Mon Sep 4 22:15:04 UTC 2017
#14152: Float exit paths out of recursive functions
-------------------------------------+-------------------------------------
Reporter: nomeata | Owner: (none)
Type: task | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.2.1
Resolution: | Keywords: JoinPoints
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: #14137 #10918 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by nomeata):
Some of these measurements seem to be unreliably, in particular `time/VS`.
Right now the whole branch, including inlining them back in the end,
yields this:
{{{
Nofib allocations
Benchmark name previous change now
nofib/allocs/fannkuch-redux 870976696 - 99.99% 64700
bytes
nofib/allocs/k-nucleotide 1089567552 - 91.78% 89603872
bytes
Nofib runtimes
Benchmark name previous change now
nofib/time/CSD 0.536 - 8.02% 0.493
seconds
nofib/time/cryptarithm1 0.529 - 4.73% 0.504
seconds
nofib/time/digits-of-e1 0.704 - 3.27% 0.681
seconds
nofib/time/fannkuch-redux 4.401 + 3.84% 4.57
seconds
nofib/time/integer 1.562 + 3.59% 1.618
seconds
nofib/time/k-nucleotide 5.426 - 6.28% 5.085
seconds
}}}
The effect of just the inlining patch is
{{{
Nofib runtimes
Benchmark name previous change now
nofib/time/VS 0.442 - 17.19% 0.366
seconds
nofib/time/digits-of-e1 0.704 - 3.27% 0.681
seconds
nofib/time/k-nucleotide 5.585 - 8.95% 5.085
seconds
}}}
That the inlining patch has not changed over the version in comment:18, it
was just rebased onto a slightly improved exitification patch, yet the
runtime of `VS` now ''improves'' by 17% rather than regress by 16%. I draw
this conclusion: There is some sensitivity to layout in `SD` that seems to
be tickled by my changes in a non-systematic way. I might have a closer
look at the regressions (and gains), but not sure if ICFP is the right
time to do that.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14152#comment:21>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list