[MLton-devel] Basis-2002 benchmarks
Matthew Fluet
fluet@CS.Cornell.EDU
Fri, 18 Oct 2002 09:19:48 -0400 (EDT)
BTW, here are the results from benchmarks I ran yesterday. Runtimes
aren't bad with the exception of wc-{input1,scanStream}, although,
surprisingly, mlyacc and lexgen show a decent improvement.
The slowdown in DLXSimulator seems to be related to inlining, as the
following shows:
MLton0 -- mlton.cvs.basis-1997
MLton1 -- mlton.cvs.basis-2002
MLton2 -- mlton.cvs.basis-2002 -inline 500
compile time
benchmark MLton0 MLton1 MLton2
DLXSimulator 2.77 3.00 3.13
psdes-random 0.48 0.61 0.52
run time
benchmark MLton0 MLton1 MLton2
DLXSimulator 87.28 95.88 87.09
psdes-random 23.46 26.33 26.33
run time ratio
benchmark MLton1 MLton2
DLXSimulator 1.10 1.00
psdes-random 1.12 1.12
size
benchmark MLton0 MLton1 MLton2
DLXSimulator 86,651 91,731 95,427
psdes-random 32,514 34,786 32,546
The psdes-random slowdown seems to be due to poor register allocation.
The SSA output for mlton.cvs.basis-1997 and
mlton.cvs.basis-2002 -inline 550 are alpha-equivalent except for the order
of arguments to one commutative primitive (switched by commonSubexp); this
apparently was enough to cause different register allocation around that
point, which happened to be on the critical path.
MLton0 -- mlton.cvs.basis-1997
MLton1 -- mlton.cvs.basis-2002
compile time
benchmark MLton0 MLton1
barnes-hut 1.76 2.21
boyer 3.89 3.73
checksum 0.47 0.58
count-graphs 1.22 1.27
DLXSimulator 2.79 3.02
fft 0.92 1.08
fib 0.40 0.55
hamlet 38.03 39.14
imp-for 0.45 0.55
knuth-bendix 1.58 1.95
lexgen 4.09 4.61
life 0.92 1.07
logic 2.07 2.24
mandelbrot 0.45 0.59
matrix-multiply 0.52 0.62
md5 0.87 *
merge 0.45 0.57
mlyacc 16.27 15.93
model-elimination 16.45 17.16
mpuz 0.60 0.71
nucleic 5.05 5.22
peek 0.71 1.01
psdes-random 0.46 0.62
ratio-regions 1.70 1.87
ray 2.53 3.09
raytrace 7.90 8.17
simple 5.12 5.60
smith-normal-form 5.63 5.93
tailfib 0.41 0.55
tak 0.42 0.56
tensor 2.21 *
tsp 1.07 1.39
tyan 2.69 3.02
vector-concat 0.49 0.64
vector-rev 0.46 0.54
vliw 8.90 10.00
wc-input1 1.14 1.66
wc-scanStream 1.17 1.62
zebra 4.29 4.75
zern 0.74 0.91
run time
benchmark MLton0 MLton1
barnes-hut 48.41 48.49
boyer 66.17 67.35
checksum 47.34 47.38
count-graphs 46.21 45.98
DLXSimulator 87.73 96.85
fft 37.12 38.02
fib 49.49 49.50
hamlet 60.01 56.50
imp-for 57.98 57.98
knuth-bendix 47.88 39.72
lexgen 44.13 41.45
life 43.33 43.06
logic 68.47 67.21
mandelbrot 55.69 56.50
matrix-multiply 31.61 31.70
md5 142.83 *
merge 94.12 87.52
mlyacc 39.74 35.94
model-elimination 74.67 75.38
mpuz 37.38 39.02
nucleic 39.23 39.68
peek 35.41 35.42
psdes-random 23.45 26.33
ratio-regions 36.10 35.40
ray 29.97 29.30
raytrace 42.73 42.01
simple 49.87 49.33
smith-normal-form 53.66 53.24
tailfib 42.84 42.84
tak 89.90 90.06
tensor 32.25 *
tsp 68.17 68.55
tyan 59.40 57.72
vector-concat 89.64 89.79
vector-rev 116.23 115.61
vliw 53.87 52.84
wc-input1 37.59 2189.27
wc-scanStream 48.95 1614.30
zebra 39.94 39.63
zern 44.47 44.38
run time ratio
benchmark MLton1
barnes-hut 1.00
boyer 1.02
checksum 1.00
count-graphs 1.00
DLXSimulator 1.10
fft 1.02
fib 1.00
hamlet 0.94
imp-for 1.00
knuth-bendix 0.83
lexgen 0.94
life 0.99
logic 0.98
mandelbrot 1.01
matrix-multiply 1.00
merge 0.93
mlyacc 0.90
model-elimination 1.01
mpuz 1.04
nucleic 1.01
peek 1.00
psdes-random 1.12
ratio-regions 0.98
ray 0.98
raytrace 0.98
simple 0.99
smith-normal-form 0.99
tailfib 1.00
tak 1.00
tsp 1.01
tyan 0.97
vector-concat 1.00
vector-rev 0.99
vliw 0.98
wc-input1 58.24
wc-scanStream 32.98
zebra 0.99
zern 1.00
size
benchmark MLton0 MLton1
barnes-hut 62,072 72,408
boyer 124,682 120,458
checksum 31,498 33,810
count-graphs 51,098 52,050
DLXSimulator 86,683 91,763
fft 40,542 42,950
fib 31,498 33,842
hamlet 1,090,075 1,089,923
imp-for 31,514 33,938
knuth-bendix 71,107 77,355
lexgen 152,712 156,336
life 47,546 50,034
logic 88,034 90,226
mandelbrot 31,602 34,018
matrix-multiply 32,066 34,378
md5 40,163 *
merge 32,714 35,114
mlyacc 462,728 446,768
model-elimination 539,424 514,960
mpuz 35,498 38,290
nucleic 70,242 72,698
peek 39,163 45,035
psdes-random 32,546 34,818
ratio-regions 49,874 52,826
ray 88,699 98,643
raytrace 238,392 246,432
simple 184,550 187,910
smith-normal-form 140,668 145,188
tailfib 31,226 33,618
tak 31,666 33,978
tensor 61,779 *
tsp 45,651 51,915
tyan 89,307 94,931
vector-concat 32,010 34,890
vector-rev 31,890 34,146
vliw 294,868 289,004
wc-input1 52,696 62,056
wc-scanStream 53,304 62,016
zebra 116,843 122,699
zern 38,085 39,517
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
MLton-devel mailing list
MLton-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlton-devel