From 2effe18ab51d66474724d38b20e49cc1b8738f60 Mon Sep 17 00:00:00 2001 From: Simon Peyton Jones Date: Tue, 28 Feb 2017 16:07:20 -0500 Subject: 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 --- testsuite/tests/deriving/perf/all.T | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'testsuite/tests/deriving/perf') diff --git a/testsuite/tests/deriving/perf/all.T b/testsuite/tests/deriving/perf/all.T index a13a6aa7b9..4d88bc9ca5 100644 --- a/testsuite/tests/deriving/perf/all.T +++ b/testsuite/tests/deriving/perf/all.T @@ -3,10 +3,11 @@ test('T10858', [(platform('x86_64-unknown-mingw32'), 272402736, 8), # 2017-02-19 272402736 (x64/Windows) - unknown - (wordsize(64), 304094944, 8) ]), + (wordsize(64), 275357824, 8) ]), # Initial: 476296112 # 2016-12-19 247768192 Join points (#19288) # 2016-02-12 304094944 Type-indexed Typeable + # 2016-02-25 275357824 Early inline patch only_ways(['normal'])], compile, ['-O']) -- cgit v1.2.1