![]() Make the old-generation marking process incremental on request, where `(collect-garbage 'incremental)` makes a request. Only the marking phase of an old-generation collection is incremental, so far. In exchange for slower minor collections and a larger heap, you get a major collection pause time that is roughly halved. So, this is a step forward, but not good enough for most purposes that need incremental collection. An incremental-mode request sticks until the next major GC. The idea is that any program that could benefit from incremental collection will have some sort of periodic task where it can naturally request incremental mode. (In particular, that request belongs in the program, not in some external flag to the runtime system.) Otherwise, the system should revert to non-incremental mode, given that incremental mode is slower overall and can use much more memory --- usually within a factor of two, but the factor can be much worse due to fragmentation. |
||
---|---|---|
.. | ||
foreign | ||
getting-started | ||
guide | ||
inside | ||
more | ||
raco | ||
reference | ||
scheme | ||
style | ||
finger.png | ||
icons.css | ||
icons.rkt | ||
icons.tex | ||
info.rkt | ||
magnify.png |