polyvariance experiments
Stephen Weeks
sweeks@research.nj.nec.com
Thu, 18 Feb 1999 14:01:52 -0500
Here are the results of some polyvariance experiments that I just ran.
The polyvariance rewrites the Sxml program resulting from
monomorphisation. It duplicates every let bound higher-order function
at each variable reference. I measured running time and code size.
old = old compiler with no polyvariance
new = 3 rounds of polyvariance after monomorphisation
Summary:
- Polyvariance improved (or didn't hurt) every benchmark except for
logic in both code size and running time.
- Logic blew up by 5x in code size and slowed down 10%.
time(s) size(bytes)
old new old new
---- ---- ------ -------
barnes-hut 25.3 14.7 54702 39970
count-graphs 12.7 12.9 43616 40396
fft 42.0 37.8 32392 26640
knuth-bendix 39.4 31.4 76973 71905
lexgen 50.3 48.2 209666 183522
life 70.2 57.7 37796 37356
logic 63.4 71.0 235960 1178564
mandelbrot 16.0 16.0 13356 13356
matrix-multiply 13.5 12.9 14900 13912
mlyacc 25.2 24.2 990038 821278
nucleic 32.1 19.5 70658 54106
simple 17.3 12.9 238999 218343
tsp 49.1 31.6 36358 31174