[gclist] Re: Name that hypothesis

Simon L Peyton Jones simonpj@cse.ogi.edu
Wed, 04 Dec 1996 13:02:31 -0800



The most detailed measurements I know about generational GC in a lazy
settingare in my FPCA93 paper with Patrick Sansom (though maybe I've missed
some)

	http://www.dcs.gla.ac.uk/fp/papers/gen-gc-for-haskell.ps.Z

Contrary to what Henry says, and contrary to our initial expectation
we found that generational GC worked very well.  While things are
updated often, they are almost always updated when very young, so it
doesn't matter much.

And these measurements were with an Appel-style collector that is
prone to premature tenuring (it promotes everything live at a minor GC).

Simon Peyton Jones

| I agree with Hans re programming styles.  I also forgot to mention
| some work from the _lazy_ functional programming community, whose
| results are much more like those of the logic programming community
| than those of the strict functional programming community -- e.g., ML.
| The reason is that the lazy values get updated _after_ the links to
| them are created, and this screws up generational GC's pretty badly.
| I seem to recall several papers in the past several years from FPCA
| and some of the GC conferences that ran into this problem.  I also
| seem to recall that the problem can be ameliorated, but I don't recall
| off the top of my head how this was done.