2 ms·
Generally in other languages the memory is immediately freed and available to be reallocated. This is not true in most garbage collection strategies.
by spullara 15y ago
Generally in other languages the memory is immediately freed and available to be reallocated. This is not true in most garbage collection strategies.
- bunderbunder 15y agoNor is it particularly desirable. One of the cornerstones of how a modern generational GC performs as well as it does is that blocks of objects are freed up all at once. If they were deallocated in a piecemeal fashion then: - Freeing up memory would take longer, because you can't just change a pointer back to the root of the generation. - Allocating memory would take longer, because it involves searching for a big enough empty slot rather than just throwing the new object on top of the heap. - More memory is wasted overall, because of heap fragmentation.