[MLton] benchmarks with -representation {normal,packed}
Stephen Weeks
MLton@mlton.org
Fri, 23 Apr 2004 10:49:33 -0700
Now that the cast problem is fixed, all the regressions (except for
fixed-integer) and benchmarks work with -representation packed. Here
are the benchmark results. There was small speedup on some
benchmarks, and only one with noticable slowdown. There was conistent
small improvement on code size, up to a few percent. There were no
significant hits on compile time.
MLton0 -- mlton -representation normal
MLton1 -- mlton -representation packed
Here are the run time ratios that were more than 0.01 away from 1.
run time ratio
benchmark MLton1
count-graphs 0.95
hamlet 0.98
lexgen 0.96
life 0.89
mpuz 0.93
output1 0.96
ratio-regions 0.98
ray 0.95
raytrace 0.97
tsp 1.02
tyan 0.98
wc-scanStream 1.06
zebra 0.95
size
benchmark MLton0 MLton1
DLXSimulator 167,117 165,501
barnes-hut 137,501 137,245
boyer 217,701 217,061
checksum 107,597 107,341
count-graphs 124,945 124,557
fft 125,553 125,361
fib 105,861 105,605
hamlet 1,333,733 1,305,829
imp-for 105,861 105,605
knuth-bendix 143,469 142,821
lexgen 225,434 223,978
life 125,189 123,613
logic 166,045 167,005
mandelbrot 105,957 105,701
matrix-multiply 108,337 108,081
md5 111,109 110,853
merge 107,285 107,037
mlyacc 541,502 533,134
model-elimination 665,788 657,276
mpuz 109,985 109,673
nucleic 256,177 255,937
output1 124,531 124,271
peek 115,569 115,353
psdes-random 106,201 105,945
ratio-regions 134,057 133,801
ray 213,137 208,993
raytrace 313,679 311,215
simple 275,405 274,393
smith-normal-form 212,377 211,697
tailfib 105,989 105,733
tak 105,837 105,581
tensor 138,796 138,412
tsp 116,365 116,245
tyan 173,309 172,061
vector-concat 107,593 107,245
vector-rev 106,941 106,685
vliw 425,290 415,818
wc-input1 144,557 144,213
wc-scanStream 139,217 138,913
zebra 176,597 159,021
zern 140,263 140,039
compile time
benchmark MLton0 MLton1
DLXSimulator 7.48 7.46
barnes-hut 6.65 6.64
boyer 8.49 9.02
checksum 5.14 5.15
count-graphs 5.82 5.83
fft 5.67 5.70
fib 5.15 5.12
hamlet 49.73 54.76
imp-for 5.16 5.18
knuth-bendix 6.18 6.19
lexgen 8.57 8.81
life 5.69 5.66
logic 6.68 6.87
mandelbrot 5.15 5.16
matrix-multiply 5.24 5.25
md5 5.39 5.40
merge 5.17 5.18
mlyacc 25.28 26.32
model-elimination 24.61 25.25
mpuz 5.29 5.30
nucleic 64.00 65.02
output1 5.50 5.52
peek 5.31 5.34
psdes-random 5.18 5.16
ratio-regions 6.21 6.30
ray 7.78 7.73
raytrace 12.87 12.99
simple 9.83 9.85
smith-normal-form 9.53 12.92
tailfib 5.11 5.13
tak 5.12 5.12
tensor 7.09 7.07
tsp 5.64 5.65
tyan 7.44 7.38
vector-concat 5.19 5.19
vector-rev 5.16 5.14
vliw 16.32 16.12
wc-input1 6.12 6.12
wc-scanStream 6.05 6.07
zebra 7.29 7.02
zern 5.71 5.73