The LispOS Project: a position paper, part 2
Tue, 3 Jun 1997 13:13:22 -0500 (CDT)
From: "Dwight Hughes" <firstname.lastname@example.org>
Cc: "Scott L. Burson" <email@example.com>, <LispOS@math.gatech.edu>
You could, for example, have the GC follow pointers within memory
until reaching one that faults, then add the pointer to a "to do"
list to tend to later. There would be limitations of course -
programs/processes that spew a lot of small short to medium life
objects would seem to benefit the most from this approach. You
would probably not want to run this way *all* the time (or at least
be able to adjust the GC's swapping-phobia level).
The system should always be phobic about swapping. Consider a
mythical disk that can deliver a page in five milliseconds to a
non-mythical 200 MHz processor. Avoiding said page fault saves you a
million cycles. You can do a lot of work in a million cycles.