self-compile experiments with flattening and polyvariance

Stephen Weeks sweeks@research.nj.nec.com
Fri, 5 Mar 1999 12:40:32 -0500


Here are the results of four self compile experiments that I ran on
snake last night.  The heap size for all was 950m.  The variables were
whether polyvariance was run or not and whether one or two rounds of
flattening was performed in the Cps simplifier.  Just for reference,
the default used for all of the small benchmarks is polyvariance and
two rounds of flattening.  At least for the self compile, the second
round of flattening is really hurting both in code space and running
time.  I don't think this is anything intrinsic to polyvariance -- I
just think that the current flattener sucks.

		Polyvariance			No Polyvariance
		Flatten = 1	Flatten = 2	Flatten = 1	Flatten = 2
		------------	------------	------------	------------
G0(s)		1918.81		2003.99		1103.94		1146.01
G1(s)		 805.40		 919.82		 573.37		588.50

G1 / G0		0.42		0.46		0.52		0.51

% time G1 GC	17.7%		17.9%		14.6%		14.1%

G1 code size	12,768,051	16,141,623	5,857,759	6,449,207

G1 runtime
----------
stack size	   16,777,216	   16,777,216	    4,194,304	    4,194,304
allocated	7,938,824,888	8,797,345,976	5,879,009,348	5,883,727,456
copied		1,776,026,416	2,090,201,096   1,045,197,024	1,046,597,268
max live	  112,610,904	  111,347,692	   75,581,952      74,568,892