[commit: ghc] wip/spj-early-inline2: The Early Inline Patch (a234014)
git at git.haskell.org
git at git.haskell.org
Tue Feb 21 23:27:08 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/spj-early-inline2
Link : http://ghc.haskell.org/trac/ghc/changeset/a23401493e8763c8f052a9e57b5c5de353173fac/ghc
>---------------------------------------------------------------
commit a23401493e8763c8f052a9e57b5c5de353173fac
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Tue Feb 14 15:08:24 2017 +0000
The Early Inline Patch
This very small patch switches on sm_inline even in the InitialPhase
(aka "gentle" phase). There is no reason not to... and the results
are astonishing.
I think the peformance of GHC itself improves by about 5%; and some
programs get much smaller, quicker. Result: across the board irmprovements in
compile time performance. Here are the changes in perf/compiler;
the numbers are decreases in compiler bytes-allocated:
3% T5837
7% parsing001
9% T12234
35% T9020
9% T3064
13% T9961
20% T13056
5% T9872d
5% T9872c
5% T9872b
7% T9872a
5% T783
35% T12227
20% T1969
Plus in perf/should_run
5% lazy-bs-alloc
It wasn't as easy as it sounds: I did a raft of preparatory work in
earlier patches. But it's great!
>---------------------------------------------------------------
a23401493e8763c8f052a9e57b5c5de353173fac
compiler/simplCore/SimplCore.hs | 40 ++++++++--
compiler/simplCore/SimplUtils.hs | 60 ++++++---------
.../tests/deSugar/should_compile/T2431.stderr | 2 +-
.../indexed-types/should_compile/T7837.stderr | 3 +-
.../tests/numeric/should_compile/T7116.stdout | 16 ++--
testsuite/tests/perf/compiler/T4007.stdout | 8 +-
testsuite/tests/perf/compiler/all.T | 39 +++++++---
testsuite/tests/perf/should_run/all.T | 2 +
testsuite/tests/simplCore/should_compile/Makefile | 11 ++-
testsuite/tests/simplCore/should_compile/T10181.hs | 5 ++
.../tests/simplCore/should_compile/T3234.stderr | 13 ++--
.../tests/simplCore/should_compile/T3772.stdout | 88 +++++++++++-----------
.../tests/simplCore/should_compile/T4138.stdout | 2 +-
.../tests/simplCore/should_compile/T7360.stderr | 2 +-
testsuite/tests/simplCore/should_compile/T7785.hs | 14 +++-
testsuite/tests/simplCore/should_compile/T8848.hs | 13 +++-
.../tests/simplCore/should_compile/T9509.stdout | 1 +
testsuite/tests/simplCore/should_compile/T9509a.hs | 4 +-
testsuite/tests/simplCore/should_compile/all.T | 6 +-
.../tests/simplCore/should_compile/rule2.stderr | 13 ++--
testsuite/tests/simplCore/should_run/T7611.hs | 1 +
.../tests/simplCore/should_run/simplrun002.hs | 8 +-
.../tests/simplCore/should_run/simplrun008.hs | 6 +-
23 files changed, 208 insertions(+), 149 deletions(-)
Diff suppressed because of size. To see it, use:
git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc a23401493e8763c8f052a9e57b5c5de353173fac
More information about the ghc-commits
mailing list