[MLton-devel] cvs commit: simple overflow detection elimination
Stephen Weeks
MLton@mlton.org
Fri, 15 Nov 2002 14:00:33 -0800
Yesterday, I checked in some code to the redundant tests pass to
do simple overflow detection elimination, and to fix a bug that had
turned redundant tests off entirely. Here are the benchmarks showing
the effects.
MLton0 -- mlton -drop-pass redundantTests
MLton1 -- mlton -eliminate-overflow false
MLton2 -- mlton -eliminate-overflow true
MLton3 -- mlton -detect-overflow false
Here, MLton0 behaves like MLton before the bug fix to turn redundant
tests back on, i.e. how MLton has behaved for the last year. MLton1
shows the effect of just turning redundant tests on, but not the new
overflow detection elimination. MLton2 shows the effect of that.
MLton3 shows the best that overflow detection elimination could hope
for.
The code size numbers confirm that MLton0 >= MLton1 >= MLton2 >=
MLton3, i.e. that each successive optimization eliminates more stuff.
But the runtime numbers show that it doesn't matter all that much. It
will be interesting to see if an analysis based on Bodik, Gupta,
Sarkar can eliminate more of significance.
run time ratio
benchmark MLton1 MLton2 MLton3
barnes-hut 1.00 1.00 0.69
boyer 1.01 1.01 1.24
checksum 1.00 0.99 0.93
count-graphs 0.99 1.00 0.99
DLXSimulator 1.00 1.00 1.00
fft 1.00 1.00 1.01
fib 0.95 1.00 0.96
hamlet 1.03 1.03 1.02
imp-for 1.01 0.95 1.09
knuth-bendix 1.00 1.00 1.06
lexgen 1.16 0.99 1.01
life 1.00 1.00 0.91
logic 1.00 1.00 1.00
mandelbrot 1.00 0.97 0.81
matrix-multiply 1.00 1.00 0.93
md5 1.00 1.00 0.95
merge 1.00 1.00 1.00
mlyacc 1.00 1.00 0.99
model-elimination 1.00 1.00 0.99
mpuz 1.00 1.00 0.93
nucleic 1.00 1.00 0.96
peek 1.00 1.00 1.32
psdes-random 0.99 1.01 1.04
ratio-regions 1.00 1.01 1.01
ray 1.00 1.00 0.99
raytrace 1.01 1.01 1.01
simple 1.00 1.00 1.02
smith-normal-form 1.00 1.00 1.00
tailfib 1.00 1.00 0.81
tak 0.99 0.98 0.90
tensor 1.03 1.01 0.95
tsp 1.00 1.00 1.00
tyan 1.00 1.00 1.00
vector-concat 1.00 1.03 1.04
vector-rev 1.00 0.99 1.02
vliw 1.01 0.99 1.00
wc-input1 1.00 1.01 1.00
wc-scanStream 0.95 1.03 1.02
zebra 1.00 1.00 0.99
zern 1.00 0.99 0.98
size
benchmark MLton0 MLton1 MLton2 MLton3
barnes-hut 103,104 103,104 103,008 102,120
boyer 140,495 140,471 140,471 140,431
checksum 43,751 43,751 43,735 43,647
count-graphs 64,759 64,079 63,759 63,271
DLXSimulator 102,320 102,304 101,312 99,152
fft 52,923 52,923 52,763 52,283
fib 43,807 43,807 43,807 43,615
hamlet 1,228,136 1,228,096 1,226,928 1,210,560
imp-for 43,823 43,823 43,711 43,567
knuth-bendix 86,240 86,240 86,224 84,312
lexgen 172,925 172,877 171,741 170,493
life 62,143 62,143 62,175 61,847
logic 103,815 103,815 103,815 103,479
mandelbrot 43,855 43,855 43,791 43,495
matrix-multiply 44,311 44,311 44,295 44,183
md5 52,824 52,824 52,840 51,752
merge 45,079 45,079 45,063 44,959
mlyacc 537,181 536,717 534,573 529,181
model-elimination 635,104 635,008 633,184 629,024
mpuz 47,927 47,927 47,911 47,671
nucleic 190,959 190,959 190,959 190,983
peek 51,896 51,880 51,864 51,512
psdes-random 44,911 44,911 44,895 44,847
ratio-regions 62,559 62,559 62,167 63,303
ray 104,112 104,096 103,280 102,528
raytrace 278,925 278,941 277,757 276,029
simple 199,595 199,595 199,419 195,307
smith-normal-form 181,692 181,588 181,044 180,068
tailfib 43,519 43,519 43,519 43,375
tak 43,919 43,919 43,919 43,527
tensor 104,363 104,331 103,659 101,611
tsp 59,408 59,408 58,832 57,968
tyan 107,248 107,216 106,752 105,552
vector-concat 44,255 44,255 44,255 44,215
vector-rev 44,159 44,159 44,095 44,047
vliw 323,721 323,593 322,425 318,297
wc-input1 66,093 66,077 65,773 65,205
wc-scanStream 66,781 66,573 66,253 65,653
zebra 142,392 142,392 142,376 141,184
zern 50,610 50,594 50,482 50,322
-------------------------------------------------------
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