benchamrks on Linux and Cygwin/VMWare
Stephen Weeks
MLton@sourcelight.com
Wed, 27 Mar 2002 16:41:39 -0800
MLton on Cygwin is now stable enough that I can cross compile MLton to
run on Cygwin and compile and run all the benchmarks there. I still
can't self-compile MLton on Cygwin, but hopefully soon.
Here are the benchmark numbers on my 1.6 GhZ Pentium 4. These should
be taken with a huge grain of salt, since they are for Cygwin running
on Windows NT running on VMWare :-). At least it's no worse than a
factor of 3X for running time, and for something completely
computational and small, like fib, there is not much of a slowdown at
all.
MLton0 -- mlton on Linux
MLton1 -- mlton on Cygwin
compile time
benchmark MLton0 MLton1
barnes-hut 1.61 6.11
checksum 0.39 2.62
count-graphs 1.12 4.04
DLXSimulator 2.87 7.52
fft 0.84 3.80
fib 0.37 2.61
hamlet 30.93 78.47
imp-for 0.39 2.38
knuth-bendix 1.32 4.16
lexgen 3.80 9.82
life 0.80 3.63
logic 1.79 5.62
mandelbrot 0.39 2.63
matrix-multiply 0.44 2.71
md5 0.79 3.50
merge 0.40 2.76
mlyacc 13.54 32.36
mpuz 0.54 2.79
nucleic 1.69 6.08
peek 0.65 3.20
psdes-random 0.41 2.86
ratio-regions 1.57 5.19
ray 2.38 6.46
raytrace 6.46 14.94
simple 4.82 12.44
smith-normal-form 3.74 10.13
tailfib 0.36 2.43
tak 0.37 2.58
tensor 1.99 6.21
tsp 0.95 3.94
tyan 2.42 6.71
vector-concat 0.41 2.63
vector-rev 0.40 2.62
vliw 8.41 20.44
wc-input1 1.12 4.44
wc-scanStream 1.18 4.28
zebra 3.61 9.92
zern 0.69 3.07
run time
benchmark MLton0 MLton1
barnes-hut 2.67 3.09
checksum 1.20 1.32
count-graphs 2.37 2.80
DLXSimulator 6.67 18.88
fft 10.04 11.08
fib 2.53 2.52
hamlet 4.68 11.27
imp-for 5.45 5.60
knuth-bendix 4.18 5.33
lexgen 8.26 14.29
life 4.16 4.78
logic 8.15 9.92
mandelbrot 5.18 5.20
matrix-multiply 1.79 1.96
md5 0.59 0.67
merge 20.92 27.50
mlyacc 6.36 15.49
mpuz 3.56 3.74
nucleic 7.41 18.34
peek 0.67 0.77
psdes-random 4.14 3.35
ratio-regions 4.88 6.48
ray 3.11 3.49
raytrace 3.97 4.97
simple 4.47 7.05
smith-normal-form 0.66 1.06
tailfib 8.44 8.62
tak 5.33 5.68
tensor 2.46 2.64
tsp 4.19 5.05
tyan 9.44 14.42
vector-concat 2.28 3.14
vector-rev 1.34 1.50
vliw 3.63 5.80
wc-input1 1.16 1.92
wc-scanStream 1.19 2.31
zebra 1.13 1.34
zern 21.49 43.84
run time ratio
benchmark MLton1
barnes-hut 1.16
checksum 1.10
count-graphs 1.18
DLXSimulator 2.83
fft 1.10
fib 1.00
hamlet 2.41
imp-for 1.03
knuth-bendix 1.28
lexgen 1.73
life 1.15
logic 1.22
mandelbrot 1.00
matrix-multiply 1.09
md5 1.14
merge 1.31
mlyacc 2.44
mpuz 1.05
nucleic 2.48
peek 1.15
psdes-random 0.81
ratio-regions 1.33
ray 1.12
raytrace 1.25
simple 1.58
smith-normal-form 1.61
tailfib 1.02
tak 1.07
tensor 1.07
tsp 1.21
tyan 1.53
vector-concat 1.38
vector-rev 1.12
vliw 1.60
wc-input1 1.66
wc-scanStream 1.94
zebra 1.19
zern 2.04
size
benchmark MLton0 MLton1
barnes-hut 57,023 88,064
checksum 22,765 61,440
count-graphs 44,237 81,920
DLXSimulator 88,317 124,416
fft 32,829 71,168
fib 22,797 61,440
hamlet 1,105,596 1,133,056
imp-for 22,797 61,440
knuth-bendix 64,390 101,376
lexgen 151,877 184,832
life 39,533 76,800
logic 79,949 117,760
mandelbrot 22,829 61,440
matrix-multiply 23,373 61,952
md5 32,582 71,168
merge 24,045 62,464
mlyacc 471,077 495,616
mpuz 27,341 66,048
nucleic 61,613 99,840
peek 31,526 70,144
psdes-random 24,237 62,976
ratio-regions 42,637 81,408
ray 85,340 119,808
raytrace 237,001 271,872
simple 181,757 216,064
smith-normal-form 137,583 168,448
tailfib 22,509 61,440
tak 22,893 61,952
tensor 57,038 89,088
tsp 37,926 76,288
tyan 85,830 121,344
vector-concat 23,757 62,464
vector-rev 23,693 62,464
vliw 299,381 323,584
wc-input1 48,446 84,992
wc-scanStream 49,342 86,016
zebra 109,702 143,872
zern 30,428 68,608