[MLton-devel] nucleic benchmark times
Matthew Fluet
fluet@CS.Cornell.EDU
Thu, 14 Nov 2002 17:43:56 -0500 (EST)
> > One thing to be cautious about in Matthew's numbers (which are great) is which
> > version of gcc was used. We should to the run with at least gcc 3.2, and
> > possibly with gcc 3.3 just to make sure that things haven't changed there.
>
> Matthew, can you rerun MLton{4,5,6} with gcc 2.96 vs gcc 3.2
> -mcpu=i686 (and 3.3 if you really want)?
Here's some, but not all the results. The last set should finish sometime
overnight. I've cut all the standard -ccopt's from the name lines.
MLton0 -- mlton.cvs.HEAD -native true
MLton1 -- mlton.cvs.HEAD -native false -cc /home/fluet/gcc/install/bin/gcc
-ccopt -mcpu=i686 -detect-overflow true
MLton2 -- mlton.cvs.HEAD -native false -cc /home/fluet/gcc/install/bin/gcc
-ccopt -mcpu=i686 -detect-overflow true -DFAST_INT
MLton3 -- mlton.cvs.HEAD -native false -cc /home/fluet/gcc/install/bin/gcc
-ccopt -mcpu=i686 -detect-overflow false
run time ratio
benchmark MLton1 MLton2 MLton3
barnes-hut 1.35 1.18 0.81
boyer 1.09 1.09 1.19
checksum 8.44 0.86 0.62
count-graphs 1.85 1.46 1.42
DLXSimulator 1.09 1.08 1.03
fft 1.22 1.03 1.04
fib 3.58 1.47 1.39
hamlet 1.73 1.50 1.49
imp-for 12.55 1.19 0.86
knuth-bendix 1.33 1.28 1.35
lexgen 1.91 1.32 1.28
life 1.31 1.27 1.27
logic 1.28 1.15 1.15
mandelbrot 3.75 1.16 1.08
matrix-multiply 2.20 0.99 0.88
md5 3.90 2.04 1.95
merge 1.07 1.07 1.07
mlyacc 1.56 1.23 1.19
model-elimination 1.47 1.27 1.19
mpuz 4.61 1.26 1.19
nucleic 1.09 1.09 1.05
peek 19.00 1.25 1.00
psdes-random 3.10 1.00 1.03
ratio-regions 2.08 1.05 1.11
ray 1.53 1.31 1.24
raytrace 1.31 1.29 1.28
simple 2.49 1.56 1.52
smith-normal-form 0.99 0.99 0.99
tailfib 15.31 1.36 0.98
tak 2.27 1.23 1.23
tensor 24.36 1.40 0.85
tsp 1.07 1.05 1.05
tyan 1.25 1.14 1.15
vector-concat 6.60 1.05 0.93
vector-rev 3.61 1.03 0.94
vliw 1.82 1.26 1.35
wc-input1 5.90 1.88 1.63
wc-scanStream 3.71 1.54 1.33
zebra 1.37 1.21 1.19
zern 3.54 1.13 1.20
So, gcc-3.2 in general still doesn't beat the native codegen. With
-DFAST_INT, then checksum is more than noise faster. It's not obvious
from the numbers above, but if you compare them to the numbers I sent out
earlier, then you'll see that gcc is closing the gap.
Here's gcc-2.96 vs gcc-3.2 on -detect-overflow true -DFAST_INT and
-detect-overflow false. Fairly impressive speedups, over 2X in a few
cases. Only two violations where gcc-2.96 is faster than gcc-3.2. If gcc
keeps up that kind of improvement, it would quite quickly overtake the
native backend. And we still haven't looked at -O2. (I can queue those
up to run overnight.)
MLton0 -- mlton.cvs.HEAD -native false -cc /usr/bin/gcc -ccopt
-mcpu=pentiumpro -detect-overflow true -DFAST_INT
MLton1 -- mlton.cvs.HEAD -native false -cc /home/fluet/gcc/install/bin/gcc
-ccopt -mcpu=i686 -detect-overflow true -DFAST_INT
run time ratio
benchmark MLton1
barnes-hut 0.93
boyer 0.89
checksum 0.52
count-graphs 0.60
DLXSimulator 1.00
fft 0.98
fib 0.91
hamlet 0.81
imp-for 1.03
knuth-bendix 0.79
lexgen 0.54
life 0.46
logic 0.94
mandelbrot 0.54
matrix-multiply 0.42
md5 1.12
merge 0.78
mlyacc 0.81
model-elimination 0.79
mpuz 0.55
nucleic 0.89
peek 0.33
psdes-random 0.53
ratio-regions 0.52
ray 0.82
raytrace 0.75
simple 0.85
smith-normal-form 1.00
tailfib 0.98
tak 0.65
tensor 0.81
tsp 0.93
tyan 0.84
vector-concat 0.50
vector-rev 0.67
vliw 0.87
wc-input1 0.41
wc-scanStream 0.49
zebra 0.56
zern 0.54
MLton0 -- mlton.cvs.HEAD -native false -cc /usr/bin/gcc -ccopt
-mcpu=pentiumpro -detect-overflow false
MLton1 -- mlton.cvs.HEAD -native false -cc /home/fluet/gcc/install/bin/gcc
-ccopt -mcpu=i686 -detect-overflow false
run time ratio
benchmark MLton1
barnes-hut 0.87
boyer 0.87
checksum 0.44
count-graphs 0.61
DLXSimulator 0.96
fft 1.00
fib 0.88
hamlet 0.78
imp-for 0.41
knuth-bendix 0.80
lexgen 0.48
life 0.47
logic 0.94
mandelbrot 0.51
matrix-multiply 0.29
md5 1.08
merge 0.77
mlyacc 0.79
model-elimination 0.71
mpuz 0.57
nucleic 0.91
peek 0.22
psdes-random 0.53
ratio-regions 0.55
ray 0.84
raytrace 0.81
simple 0.81
smith-normal-form 1.00
tailfib 1.17
tak 0.65
tensor 0.95
tsp 0.93
tyan 0.88
vector-concat 0.44
vector-rev 0.61
vliw 0.87
wc-input1 0.37
wc-scanStream 0.47
zebra 0.56
zern 0.61
-------------------------------------------------------
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