Return the oldest generation for which garbage collection will occur. When garbage collection is performed on this genertation the reachable objects remain in this generation and are never raised to the next generation.
|(setf (ext:oldest-generation-to-gc ) generation)||[Function]|
Set the oldest generation for which garbage collection will occur. This parameter is initially the oldest available generation, and is saved in a lisp core file and is in effect when restarted.
Applications with a large permanent memory heap can move objects into an older generation and then decrease the oldest generation subject to garbage collection which will prevent unnecessary garbage collection of the permanent objects and also prevent new objects being moved into this old permanent generation where garbage is not collected.
For applications that generate a lot of short lived objects the full set of generations may be a liability because they delay the collection of garbage. Decreasing the oldest generation subject to garbage collection reduces the number of generations available to new objects and may be appropriate for such applications.
Garbage collection of an older generation may be inhibited while still allowing younger objects to be promoted into it by setting a low generation garbage collection size limit, see: ext:generation-gc-size-limit.