[gclist] dead variables (gclist-digest V2 #119)
Sat, 31 Jan 1998 17:11:33 -0500 (EST)
Hans suggested that I might comment about the effect of dead variables. As
previously posted, Ole Agesen, David Detlefs, and I found, in a forthcoming
PLDI paper (yes! It was accepted!) that for a suite of about a dozen Java
benchmark programs (patterned after SPEC programs), adding a dead variable
analysis to an already accurate (i.e., non-conservative) collector reduce the
heap time-space product by an average of about 8%, with every program showing
perceptible improvement, and some showing dramatic improvement.
It is difficult to speculate across languages and compilers, but my guess is
that it is not too unusual for data structures allocated at one level and
passed into a long running routine, to become dead but not be reclaimed
because the routine higher up the stack still has a (dead) reference to the
data structures. The IMPACT of this will vary according to whether the data
structure is comparatively large or small.
There are clearly opportunities for more studies measuring these effects
across a wider range of programs and languages!