[commit: ghc] master: The Early Inline Patch (2effe18)
git at git.haskell.org
git at git.haskell.org
Tue Feb 28 21:07:31 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/2effe18ab51d66474724d38b20e49cc1b8738f60/ghc
>---------------------------------------------------------------
commit 2effe18ab51d66474724d38b20e49cc1b8738f60
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Tue Feb 28 16:07:20 2017 -0500
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!
Reviewers: austin, bgamari
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D3203
>---------------------------------------------------------------
2effe18ab51d66474724d38b20e49cc1b8738f60
compiler/simplCore/SimplCore.hs | 38 +++++++-
compiler/simplCore/SimplUtils.hs | 60 +++++-------
.../tests/codeGen/should_compile/debug.stdout | 3 +-
testsuite/tests/deriving/perf/all.T | 3 +-
.../indexed-types/should_compile/T7837.stderr | 3 +-
testsuite/tests/perf/compiler/T4007.stdout | 8 +-
testsuite/tests/perf/compiler/all.T | 65 +++++++++----
testsuite/tests/perf/haddock/all.T | 3 +-
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/T3772.stdout | 88 +++++++++---------
.../tests/simplCore/should_compile/T4138.stdout | 2 +-
testsuite/tests/simplCore/should_compile/T7785.hs | 14 ++-
testsuite/tests/simplCore/should_compile/T8848.hs | 13 ++-
.../tests/simplCore/should_compile/T8848.stderr | 101 ---------------------
.../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 +-
testsuite/tests/th/TH_Roles2.stderr | 4 +-
24 files changed, 219 insertions(+), 243 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 2effe18ab51d66474724d38b20e49cc1b8738f60
More information about the ghc-commits
mailing list