On 8/26/2018 7:43 PM, Matthew Flatt wrote
Racket's memory manager does not immediately release pages back to the
OS (i.e., unmap them) after a GC. In its current configuration, the GC
releases a page at the beginning of a major GC only if the page was
unused at the *start* of the previous GC. So, there's roughly a lag of
2 GCs to unmap a page that becomes unused as a result of a GC. That
policy reduces back-and-forth with the OS on page allocation, which can
be relatively costly.

Then again, at the end of a GC, if there are more than 4 times as many
mapped pages as currently in use, then all unused pages are immediately
released. That rule is an attempt to keep actual use and mapped pages
from getting too far out of sync.

Racket doesn't reserve pages without mapping them, so you don't need to
worry about that potential difference.

Good to know.  Thanks for the peek inside.
George

--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to