pub unsafe static mut GC_free_space_divisor: GC_wordExpand description
We try to make sure that we allocate at least
N / GC_free_space_divisor bytes between collections, where N is
twice the number of traced bytes, plus the number of untraced bytes
(i.e. bytes in the “atomic” objects), plus a rough estimate of the
root set size. N approximates GC tracing work per collection.
The initial value is given by GC_FREE_SPACE_DIVISOR macro.
Increasing its value will use less space but more collection time.
Decreasing it will appreciably decrease total collection time at the
expense of space. The setter and the getter are unsynchronized, so
GC_call_with_alloc_lock() (GC_call_with_reader_lock() in case of
the getter) is required to avoid data race (if the value is modified
after the collector is put into the multi-threaded mode).
In GC v7.1 and before, the setter returned the old value.