kit times

Stephen Weeks sweeks@wasabi.epr.com
Tue, 21 Dec 1999 11:53:53 -0800 (PST)


> Pretty strange.  With multiple rounds of the current flattener, is there
> anything that keeps shared things from being flattened (and hence unshared)?
> We talked at some point about the idea that if something is shared, you
> shouldn't do this:
> 	val x1 = (1, 1)
> 	    x2 = (x1, x1)
> 	    x3 = (x2, x2)
> 	...
> being the canonical example (where every extra flattening doubles the amount
> of memory and CPU time).
> Do you think that is the problem here?  It sounds like the obvious experiment
> is to keep inlining at 30 and try only 1 round of flattening.

No.  I am guessing that the environments have many slots (in both the
kit and the self compile) and that the second round of flattening is
flattening them out.