benchmarking Poly/ML

Stephen Weeks MLton@sourcelight.com
Tue, 17 Oct 2000 10:10:21 -0700 (PDT)


> Those benchmarks are interesting!
> 
> Why don't you try Poly/ML?  It is a free implementation of Standard ML and
> in my experience it greatly outperforms SML/NJ (50% faster).

My experience is quite the opposite, especially on floating point benchmarks.
Here are some benchmarks that I ran with Poly/ML, back on September 7.  Notice
that Poly/ML was particularly slow on the floating point ones (fft, mandelbrot,
matrix-multiply, nucleic).  Maybe Dave can let me know if I need to set any
compiler switches or something.

Also, please do not make these benchmarks public, since I don't want to spend
time right now figuring out why SML/NJ is slow.


absolute running time in seconds
			SML/NJ	Poly/ML MLton
count-graphs		 15.9	 31.7	 6.4
fft			 31.8	249.6	19.8
fib			  7.0	  4.6	 5.9
knuth-bendix		 28.1	 37.9	 9.1
lexgen			 31.9	 25.8	16.7
mandelbrot		 32.2	458.9	 9.7
matrix-multiply		 33.8	 68.0	 4.8
merge			351.5	 42.3	49.6
mlyacc			 29.6	108.5	11.8
nucleic			 39.9	214.0	14.3
ratio-regions		 77.9	 65.3	11.7
simple			 18.9	 65.8	 6.0
smith-normal-form	142.1	 20.1	 1.2
tak			 21.8	 10.1	13.7
vliw			 19.2	 14.2	 9.2

ratio of running time to MLton
			SML/NJ	Poly/ML
count-graphs		  2.5	 5.0
fft			  1.6	12.6
fib			  1.2	 0.8
knuth-bendix		  3.1	 4.2
lexgen			  1.9	 1.5
mandelbrot		  3.3	47.3
matrix-multiply		  7.0	14.2
merge			  7.1	 0.9
mlyacc			  2.5	 9.2
nucleic			  2.8	15.0
ratio-regions		  6.7	 5.6
simple			  3.1	11.0
smith-normal-form	118.4	16.8
tak			  1.6	 0.7
vliw			  2.1	 1.5