The keywords for this function are:
An object that is bigger than this value is "big", i.e. is not allocated from the small objects buffer, but from the big-chunk area (if it is allocated in generation 0 in the normal way)
A minimum for how much the image grows each time a segment is enlarged, as a multiple of 64K. This parameter is ignored when adding a static segment.
Maximum size of the small objects buffer.
Minimum size of the small objects buffer.
Maximum size of the small-objects buffer in the big-chunk area.
Minimum size of the small-objects buffer in the big-chunk area.
Controls the frequency of promotions. Setting
:minimum-for-promote
to a high value causes the system to promote less frequently. This may improve performance for programs that allocate a lot of data for a short term and then delete it.
Controls when a mark-and-sweep takes place. Setting
minimum-for-sweep
to a high value causes the system to mark and sweep less often, which means it has to grow. The CPU time spent in garbage collection is mostly smaller, but the process is bigger and may cause more disk access.
In conjunction with the function
expand-second-generation
,
:new-generation-size
controls the expansion of generations. If
:new-generation-size is
0, the generation is not expanded. Otherwise, the generation is expanded by
:new-generation-size
or by the amount of space needed, whichever is the greater.
promote-max-buffer and promote-min-buffer
During promotion, a buffer is allocated in the generation being promoted into, and the objects promoted are moved into it. These keywords control the size of this buffer.
This function sets the parameters of the garbage collector, using the keywords described above.