Possible quick win in GC?

Abdulhaq via Digitalmars-d digitalmars-d at puremagic.com
Sun Sep 28 23:48:06 PDT 2014


> You mean this?
> https://en.wikipedia.org/wiki/Escape_analysis

Of course my proposal uses the techique of escape analysis as 
part of its methodology, but the essence of the idea is to 
greatly cut down on the work that the GC has to do on each sweep 
when dealing with objects that have been found to belong to a 
particular set. The objects in each set are in an object graph 
that has no incoming references from objects external to the set 
and which can therefore be allocated in their own heap that is 
destroyed when the root object goes out of scope.

The saving takes place because the GC does not need to scan the 
default heap for pointers found in the new heaps (bands). For 
certain type of programs such as compilers / lexers / parsers 
where many temporary objects are allocated and shortly after 
deallocated this can result in a substantial time saving in 
execution. In terms of memory usage we would see multiple 
potentially large but short-lived spikes.



More information about the Digitalmars-d mailing list