[MLton-devel] -loop-passes 2

Stephen Weeks MLton@mlton.org
Thu, 5 Jun 2003 18:42:52 -0700


With Matthew's knownCase fix in place, it is now possible to run all
the benchmarks -loop-passes {1,2}.  The results are pretty
interesting.   There are some very good speedups, notably on
barnes-hut and md5, which may be too good.  It's probably worth
investigating if a couple of additional passes at the end of the
simplify pipeline could catch most of these.

MLton0 -- /tmp/benchmark-18926/src/build/bin/mlton -loop-passes 1
MLton1 -- /tmp/benchmark-18926/src/build/bin/mlton -loop-passes 2
run time ratio
benchmark         MLton0 MLton1
barnes-hut          1.00   0.68
boyer               1.00   1.03
checksum            1.00   0.96
count-graphs        1.00   0.87
DLXSimulator        1.00   1.00
fft                 1.00   1.04
fib                 1.00   0.96
hamlet              1.00   0.84
imp-for             1.00   1.26
knuth-bendix        1.00   0.96
lexgen              1.00   0.78
life                1.00   0.82
logic               1.00   0.94
mandelbrot          1.00   1.00
matrix-multiply     1.00   1.00
md5                 1.00   0.10
merge               1.00   0.98
mlyacc              1.00   0.96
model-elimination   1.00   0.95
mpuz                1.00   0.89
nucleic             1.00   1.25
peek                1.00   1.28
psdes-random        1.00   1.10
ratio-regions       1.00   0.80
ray                 1.00   0.83
raytrace            1.00   1.08
simple              1.00   1.04
smith-normal-form   1.00   1.00
tailfib             1.00   0.99
tak                 1.00   1.02
tensor              1.00   0.80
tsp                 1.00   0.96
tyan                1.00   0.95
vector-concat       1.00   0.96
vector-rev          1.00   0.95
vliw                1.00   0.98
wc-input1           1.00   1.00
wc-scanStream       1.00   1.02
zebra               1.00   0.72
zern                1.00   0.70
size
benchmark            MLton0    MLton1
barnes-hut          130,116   129,676
boyer               140,444   138,024
checksum             54,264    51,540
count-graphs         71,744    67,972
DLXSimulator        113,349   108,853
fft                  68,452    69,080
fib                  54,272    51,592
hamlet            1,209,169 1,354,521
imp-for              54,192    51,424
knuth-bendix         99,613    98,121
lexgen              174,242   176,642
life                 74,092    69,320
logic               113,380   122,580
mandelbrot           54,276    51,508
matrix-multiply      54,732    52,040
md5                  67,765    63,773
merge                55,552    52,828
mlyacc              485,202   536,754
model-elimination   616,004   721,076
mpuz                 59,176    56,768
nucleic             201,016   198,484
peek                 65,829    63,849
psdes-random         55,104    52,924
ratio-regions        72,600    69,328
ray                 143,009   151,281
raytrace            232,530   252,978
simple              206,736   225,952
smith-normal-form   203,428   201,424
tailfib              54,000    51,232
tak                  54,372    51,676
tensor              125,351   123,703
tsp                  70,817    68,197
tyan                119,717   119,657
vector-concat        55,336    52,240
vector-rev           54,540    51,700
vliw                350,490   369,242
wc-input1            81,254    80,570
wc-scanStream        84,722    83,826
zebra               131,237   137,945
zern                 66,435    65,507
compile time
benchmark         MLton0 MLton1
barnes-hut          2.14   2.46
boyer               3.27   3.71
checksum            0.57   0.56
count-graphs        1.19   1.28
DLXSimulator        3.04   3.55
fft                 0.88   1.01
fib                 0.54   0.53
hamlet             36.72  50.67
imp-for             0.54   0.54
knuth-bendix        1.77   2.04
lexgen              3.92   5.25
life                1.05   1.13
logic               2.04   2.85
mandelbrot          0.58   0.55
matrix-multiply     0.62   0.61
md5                 1.13   1.21
merge               0.56   0.55
mlyacc             16.77  25.03
model-elimination  15.63  23.61
mpuz                0.69   0.70
nucleic            57.82  58.07
peek                0.98   1.06
psdes-random        0.58   0.60
ratio-regions       1.66   1.88
ray                 3.19   4.06
raytrace            6.77   8.99
simple              4.69   5.91
smith-normal-form   4.97   5.33
tailfib             0.53   0.52
tak                 0.54   0.51
tensor              2.41   2.96
tsp                 1.24   1.34
tyan                2.95   3.59
vector-concat       0.60   0.58
vector-rev          0.55   0.53
vliw               10.34  14.18
wc-input1           1.45   1.63
wc-scanStream       1.57   1.84
zebra               2.77   3.32
zern                0.79   0.82
run time
benchmark         MLton0 MLton1
barnes-hut         29.25  19.77
boyer              31.55  32.40
checksum           52.73  50.80
count-graphs       27.04  23.41
DLXSimulator       71.29  71.40
fft                40.13  41.66
fib                39.02  37.42
hamlet             28.96  24.41
imp-for            30.74  38.85
knuth-bendix       24.60  23.70
lexgen             35.01  27.32
life               11.75   9.67
logic              33.36  31.35
mandelbrot         35.26  35.40
matrix-multiply     8.45   8.45
md5                37.57   3.81
merge              54.97  53.61
mlyacc             30.27  29.03
model-elimination  43.81  41.56
mpuz               26.08  23.14
nucleic            26.17  32.80
peek               18.76  23.95
psdes-random       25.65  28.28
ratio-regions      31.45  25.08
ray                15.89  13.23
raytrace           21.37  23.10
simple             30.94  32.24
smith-normal-form  20.23  20.21
tailfib            29.60  29.44
tak                16.97  17.38
tensor             30.96  24.85
tsp                36.88  35.38
tyan               35.36  33.58
vector-concat      62.14  59.35
vector-rev         74.03  70.68
vliw               29.95  29.49
wc-input1          40.30  40.47
wc-scanStream      23.24  23.75
zebra              41.57  30.09
zern               37.94  26.67



-------------------------------------------------------
This SF.net email is sponsored by:  Etnus, makers of TotalView, The best
thread debugger on the planet. Designed with thread debugging features
you've never dreamed of, try TotalView 6 free at www.etnus.com.
_______________________________________________
MLton-devel mailing list
MLton-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlton-devel