[MLton-devel] nucleic benchmark times

Matthew Fluet fluet@CS.Cornell.EDU
Fri, 15 Nov 2002 09:48:25 -0500 (EST)


Here's the last set of numbers:

MLton0 -- mlton.cvs.HEAD -native false -cc /usr/bin/gcc -ccopt
-mcpu=pentiumpro -detect-overflow true
MLton1 -- mlton.cvs.HEAD -native false -cc /home/fluet/gcc/install/bin/gcc
-ccopt -mcpu=i686 -detect-overflow true

run time ratio
benchmark         MLton1
barnes-hut          0.93
boyer               0.89
checksum            0.79
count-graphs        0.65
DLXSimulator        1.01
fft                 0.98
fib                 0.85
hamlet              0.83
imp-for             0.80
knuth-bendix        0.85
lexgen              0.60
life                0.48
logic               1.02
mandelbrot          0.73
matrix-multiply     0.67
md5                 1.00
merge               0.77
mlyacc              0.84
model-elimination   0.80
mpuz                0.78
nucleic             0.89
peek                0.86
psdes-random        0.75
ratio-regions       0.65
ray                 0.85
raytrace            0.80
simple              0.84
smith-normal-form   1.00
tailfib             1.02
tak                 0.75
tensor              1.03
tsp                 0.93
tyan                0.84
vector-concat       0.78
vector-rev          0.81
vliw                0.88
wc-input1           0.71
wc-scanStream       0.74
zebra               0.60
zern                0.77

Pretty much the same as with the other numbers.

Here's a comparison of -O1 with -O2 under gcc-3.2.  I don't know what
happened at vliw -- a mlton-compile process seemed to be hung, so I needed
to kill off a few processes before the benchmark kept going.

MLton0 -- mlton.cvs.HEAD -native true
MLton1 -- mlton.cvs.HEAD -native false -cc /home/fluet/gcc/install/bin/gcc
-ccopt -mcpu=i686 -ccopt -O1 -detect-overflow true
MLton2 -- mlton.cvs.HEAD -native false -cc /home/fluet/gcc/install/bin/gcc
-ccopt -mcpu=i686 -ccopt -O1 -detect-overflow true -DFAST_INT
MLton3 -- mlton.cvs.HEAD -native false -cc /home/fluet/gcc/install/bin/gcc
-ccopt -mcpu=i686 -ccopt -O1 -detect-overflow false
MLton4 -- mlton.cvs.HEAD -native false -cc /home/fluet/gcc/install/bin/gcc
-ccopt -mcpu=i686 -ccopt -O2 -ccopt -fno-strict-aliasing -detect-overflow
true
MLton5 -- mlton.cvs.HEAD -native false -cc /home/fluet/gcc/install/bin/gcc
-ccopt -mcpu=i686 -ccopt -O2 -ccopt -fno-strict-aliasing -detect-overflow
true -DFAST_INT
MLton6 -- mlton.cvs.HEAD -native false -cc /home/fluet/gcc/install/bin/gcc
-ccopt -mcpu=i686 -ccopt -O2 -ccopt -fno-strict-aliasing -detect-overflow
false

run time ratio
benchmark         MLton1 MLton2 MLton3 MLton4 MLton5 MLton6
barnes-hut          1.35   1.17   0.81   1.27   1.09   0.77
boyer               1.09   1.09   1.17   1.08   1.08   1.16
checksum            8.44   0.86   0.62   8.44   0.88   0.61
count-graphs        1.82   1.46   1.42   1.80   1.39   1.34
DLXSimulator        1.10   1.08   1.03   1.09   1.08   1.04
fft                 1.22   1.04   1.05   1.19   1.02   1.01
fib                 3.57   1.47   1.40   3.49   1.29   1.26
hamlet              1.69   1.48   1.45   1.56   1.33   1.31
imp-for            12.56   1.19   0.86  12.45   1.19   0.88
knuth-bendix        1.32   1.28   1.35   1.30   1.31   1.34
lexgen              1.92   1.34   1.30   1.90   1.24   1.24
life                1.31   1.27   1.27   1.24   1.25   1.30
logic               1.28   1.15   1.15   1.21   1.10   1.09
mandelbrot          3.78   1.17   1.09   3.88   1.01   1.03
matrix-multiply     2.22   0.99   0.89   2.27   0.93   0.89
md5                 3.90   2.04   1.95   3.89   2.07   1.99
merge               1.08   1.10   1.08   1.08   1.10   1.08
mlyacc              1.54   1.23   1.21   1.52   1.21   1.17
model-elimination   1.44   1.25   1.17   1.38   1.24   1.15
mpuz                4.61   1.30   1.19   4.64   1.11   1.09
nucleic             1.10   1.09   1.06   1.07   1.07   1.04
peek               19.00   1.25   1.00  19.74   1.25   0.63
psdes-random        3.10   1.00   1.03   3.04   1.11   0.97
ratio-regions       2.03   1.05   1.10   2.16   1.12   1.09
ray                 1.53   1.31   1.25   1.50   1.29   1.22
raytrace            1.30   1.28   1.27   1.28   1.13   1.21
simple              2.39   1.51   1.49   2.40   1.49   1.46
smith-normal-form   1.01   1.00   1.00   1.00   1.01   1.00
tailfib            15.31   1.36   0.98  14.22   1.26   0.77
tak                 2.27   1.23   1.23   2.25   1.12   1.11
tensor             24.36   1.40   0.85  23.84   1.40   0.46
tsp                 1.06   1.05   1.05   1.06   1.05   1.07
tyan                1.22   1.13   1.15   1.23   1.11   1.13
vector-concat       5.89   1.06   0.95   5.96   1.05   0.92
vector-rev          3.40   1.01   0.92   3.52   0.99   0.95
vliw                1.78   1.23      *      *      *   1.27
wc-input1           5.81   1.87   1.63   5.89   1.60   1.41
wc-scanStream       3.66   1.53   1.31   3.67   1.41   1.30
zebra               1.37   1.21   1.24   1.32   1.14   1.13
zern                3.31   1.12   1.20   3.37   1.09   1.05

The only impressive speed-ups seem to be in peek, tailfib, and tensor with
-detect-overflow false.  Otherwise, there's a little benefit of -O2, but
it doesn't seem to be much.



-------------------------------------------------------
This sf.net email is sponsored by: To learn the basics of securing 
your web site with SSL, click here to get a FREE TRIAL of a Thawte 
Server Certificate: http://www.gothawte.com/rd524.html
_______________________________________________
MLton-devel mailing list
MLton-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlton-devel