




 
Sets the additional allocation threshold that triggers a GC in the blocking generation in 64-bit LispWorks.
An integer between 0 and 7, inclusive.
An integer greater than 12800, or a real in the inclusive range [0 100], or 
nil
.
The function 
set-gen-num-gc-threshold
 sets the threshold for additional allocation that triggers a garbage collection (GC) in generation 
gen-num
 when this is the blocking generation (as set by set-blocking-gen-num). A GC is triggered when the allocation in generation 
gen-num
 grows more than 
threshold
 over the allocation after the last GC of this generation (or a higher generation).
To set the threshold, threshold can be an integer greater than 12800, which is interpreted as the absolute value. Alternatively threshold can be a real number in the inclusive range [0 100], which is multiplied by the allocation since the previous GC to get the actual threshold to set.
The default threshold for all generations is 1. That is, when the allocation in the generation has doubled since the previous GC it is collected automatically.
set-gen-num-gc-threshold
 can be called when the generation 
gen-num
 is not the blocking generation, and will set the value for that 
gen-num
. Such a call will not take effect until the generation 
gen-num
 becomes the blocking generation, as set by a call to set-blocking-gen-num (with 
:do-cg t
).
Increasing the threshold reduces the number of GC calls, but may increase the virtual memory usage.
set-gen-num-gc-threshold
 returns the old threshold for the generation 
gen-num
. It can be called with 
threshold
 
nil
 to return the threshold value without changing it.
Note: this function is implemented only in 64-bit LispWorks. It is not relevant to the Memory Management API in 32-bit implementations.