[MLton] benchmarks with MLton 20051202

Stephen Weeks MLton@mlton.org
Fri, 23 Dec 2005 11:39:00 -0800


I just updated

  http://mlton.org/Performance

with benchmark numbers for the latest versions of the various SML
compilers.  For easier viewing, I've included the run-time ratios
below.

The benchmarks were run on a different machine than last time, so I'd
expect some differences.  All in all, though, they look roughly
similar (flat-array being the biggest change).  The one easy-to-spot
flaw in MLton is its handling of floating point: fft, nucleic, and ray
are the only three benchmarks where SML/NJ beats MLton, and SML/NJ
isn't far behind on barnes-hut and mandelbrot.  If anyone is looking
for a fun project that would help out MLton's performance and would
surely be appreciated by the community, there's probably some
low-hanging fruit in improving the native codegen's handling of
floating point.

----------------------------------------------------------------------
benchmark         ML-Kit Moscow-ML Poly/ML SML/NJ
barnes-hut             *         *       *   1.63
boyer                  *     10.13    1.88   3.09
count-graphs        7.26     60.75    4.15   3.76
fft                 1.18         *   24.22   0.78
fib                 0.92      4.95    1.21   1.32
flat-array          2.17     35.01 1041.62  13.40
hamlet                 *         *       *   3.05
imp-for             2.83     63.01    5.09   5.62
knuth-bendix           *     19.79    4.79   4.58
lexgen              2.50      4.98    1.71   1.46
life                1.72     30.60    7.65   1.39
logic                  *      9.44    1.16   2.11
mandelbrot          4.22     33.99   51.11   1.33
matrix-multiply     8.34     42.54   13.22   5.34
merge                  *         *    1.10   7.91
mlyacc              1.48      8.16    1.22   2.24
model-elimination      *         *       *   2.59
mpuz                2.29     78.17    4.57   4.13
nucleic                *         *   23.49   0.78
output1            30.66     61.43   16.19  14.41
peek               15.15    176.91   17.86  11.34
psdes-random        4.98         *       *   2.75
ratio-regions       2.00     34.68    2.05   5.36
ray                    *     14.84   22.31   0.78
raytrace               *         *       *   3.33
simple              1.74     19.33    7.31   2.42
tailfib             1.04     51.91    3.19   1.39
tak                 1.23     17.02    1.26   1.99
tensor                 *         *       *   7.38
tsp                 3.43     31.75       *  17.68
tyan                   *     15.66    1.02   1.62
vector-concat       1.23     20.43    1.98  20.37
vector-rev          2.24     41.86    2.28 152.36
vliw                   *         *       *   2.45
wc-input1          11.09         *    7.55  17.19
wc-scanStream      22.10         *  203.72  11.53
zebra               3.86     30.23    3.42   8.48
zern                   *         *       *   2.63