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