Commit 5da580be authored by Simon Peyton Jones's avatar Simon Peyton Jones
Browse files

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.
parent 39350626
......@@ -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,[''])
......
......@@ -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)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment