summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2014-08-29 17:16:36 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2014-08-29 17:16:55 +0100
commit5da580beacb0da1f7bf8e300e074e5cad88b8bbc (patch)
tree642d0a054a491f82453ed5dbb4be5be7e89783df /testsuite
parent393506269315bca66aae91517b75e0a003470c84 (diff)
downloadhaskell-5da580beacb0da1f7bf8e300e074e5cad88b8bbc.tar.gz
Performance improvement of the compiler itself
This is a result of one of these, or a combination 002b7a2b * Give the worker for an INLINABLE function a suitably-phased Activation ca666b8b * When finding loop breakers, distinguish INLINE from INLINEABLE a98c9c5e * Fix a bug in CSE, for INLINE/INLNEABLE things Some changes are quite big: for bytes_allocated we have T6048: 13% below expected T5837: 15% below expected T3064: 5% below expected Of course, these might have already been close to their lower threshold, so perhaps not all the improvement is from here. But it is good news all the same.
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/tests/perf/compiler/all.T9
-rw-r--r--testsuite/tests/perf/haddock/all.T8
2 files changed, 12 insertions, 5 deletions
diff --git a/testsuite/tests/perf/compiler/all.T b/testsuite/tests/perf/compiler/all.T
index 1cf4287338..cc635ff50e 100644
--- a/testsuite/tests/perf/compiler/all.T
+++ b/testsuite/tests/perf/compiler/all.T
@@ -235,7 +235,7 @@ test('T3064',
# 2012-10-30: 111189536 (x86/Windows)
# 2013-11-13: 146626504 (x86/Windows, 64bit machine)
# 2014-01-22: 162457940 (x86/Linux)
- (wordsize(64), 332702112, 5)]),
+ (wordsize(64), 313638592, 5)]),
# (amd64/Linux) (28/06/2011): 73259544
# (amd64/Linux) (07/02/2013): 224798696
# (amd64/Linux) (02/08/2013): 236404384, increase from roles
@@ -245,6 +245,7 @@ test('T3064',
# (amd64/Linux) (11/02/2014): 308422280, optimize Coercions in simpleOptExpr
# (amd64/Linux) (23/05/2014): 324022680, unknown cause
# (amd64/Linux) (2014-07-17): 332702112, general round of updates
+ # (amd64/Linux) (2014-08-29): 313638592, w/w for INLINABLE things
compiler_stats_num_field('max_bytes_used',
[(wordsize(32), 11202304, 20),
@@ -413,13 +414,14 @@ test('T5837',
[(wordsize(32), 45520936 , 10),
# 40000000 (x86/Linux)
# 2013-11-13: 45520936 (x86/Windows, 64bit machine)
- (wordsize(64), 86795752, 10)])
+ (wordsize(64), 73639840, 10)])
# sample: 3926235424 (amd64/Linux, 15/2/2012)
# 2012-10-02 81879216
# 2012-09-20 87254264 amd64/Linux
# 2013-09-18 90587232 amd64/Linux
# 2013-11-21 86795752 amd64/Linux, GND via Coercible and counters
# for constraints solving
+ # 2041-08-29 73639840 amd64/Linux, w/w for INLINABLE things
],
compile_fail,['-ftype-function-depth=50'])
@@ -430,13 +432,14 @@ test('T6048',
# prev: 38000000 (x86/Linux)
# 2012-10-08: 48887164 (x86/Linux)
# 2014-04-04: 62618072 (x86 Windows, 64 bit machine)
- (wordsize(64), 125431448, 12)])
+ (wordsize(64), 108354472, 12)])
# 18/09/2012 97247032 amd64/Linux
# 16/01/2014 108578664 amd64/Linux (unknown, likely foldl-via-foldr)
# 18/01/2014 95960720 amd64/Linux Call Arity improvements
# 28/02/2014 105556793 amd64/Linux (unknown, tweak in base/4d9e7c9e3 resulted in change)
# 05/03/2014 110646312 amd64/Linux Call Arity became more elaborate
# 14/07/2014 125431448 amd64/Linux unknown reason. Even worse in GHC-7.8.3. *shurg*
+ # 29/08/2014 108354472 amd64/Linux w/w for INLINABLE things
],
compile,[''])
diff --git a/testsuite/tests/perf/haddock/all.T b/testsuite/tests/perf/haddock/all.T
index 1ef4fbc0d4..80a55d1739 100644
--- a/testsuite/tests/perf/haddock/all.T
+++ b/testsuite/tests/perf/haddock/all.T
@@ -17,7 +17,7 @@ test('haddock.base',
# 2014-01-22: 168 (x86/Linux - new haddock)
# 2014-06-29: 156 (x86/Linux)
,stats_num_field('max_bytes_used',
- [(wordsize(64), 127954488, 10)
+ [(wordsize(64), 112286208, 10)
# 2012-08-14: 87374568 (amd64/Linux)
# 2012-08-21: 86428216 (amd64/Linux)
# 2012-09-20: 84794136 (amd64/Linux)
@@ -25,6 +25,7 @@ test('haddock.base',
# 2013-01-29: 96022312 (amd64/Linux)
# 2013-10-18: 115113864 (amd64/Linux)
# 2014-07-31: 127954488 (amd64/Linux), correlates with 1ae5fa45
+ # 2014-08-29: 112286208 (amd64/Linux), w/w for INLINABLE things
,(platform('i386-unknown-mingw32'), 58557136, 10)
# 2013-02-10: 47988488 (x86/Windows)
# 2013-11-13: 58557136 (x86/Windows, 64bit machine)
@@ -103,7 +104,7 @@ test('haddock.Cabal',
# 2014-01-22: 52718512 (x86/Linux)
# 2014-06-29: 66411508 (x86/Linux)
,stats_num_field('bytes allocated',
- [(wordsize(64), 4493770224, 5)
+ [(wordsize(64), 4267311856, 5)
# 2012-08-14: 3255435248 (amd64/Linux)
# 2012-08-29: 3324606664 (amd64/Linux, new codegen)
# 2012-10-08: 3373401360 (amd64/Linux)
@@ -116,12 +117,15 @@ test('haddock.Cabal',
# 2014-01-12: 3979151552 (amd64/Linux) new parser
# 2014-06-29: 4200993768 (amd64/Linux)
# 2014-08-05: 4493770224 (x86_64/Linux - bugfix for #314, Haddock now parses more URLs)
+ # 2014-08-29: 4267311856 (x86_64/Linux - w/w for INLINABLE things)
+
,(platform('i386-unknown-mingw32'), 2052220292, 5)
# 2012-10-30: 1733638168 (x86/Windows)
# 2013-02-10: 1906532680 (x86/Windows)
# 2014-01-28: 1966911336 (x86/Windows)
# 2014-04-24: 2052220292 (x86/Windows)
# 2014-08-05: XXX TODO UPDATE ME XXX
+
,(wordsize(32), 2127198484, 1)])
# 2012-08-14: 1648610180 (x86/OSX)
# 2014-01-22: 1986290624 (x86/Linux)