[gclist] Finalizers & Reference counting.

Daniel C. Wang dcwang@agere.com
Sat, 31 Aug 2002 13:26:43 -0400


At 01:43 PM 8/31/2002 +0100, you wrote:
>{stuff deleted}
>In my experience with compilers with GC, there is a major benefit to
>generational collection with many generations (e.g. 4-6, a dynamic
>number being best), and it is a very good idea for the compiler to
>provide hints to the GC, based on compilation phases.  This can be as
>simple as "collect now", or more sophisticated than that (the next
>level of sophistication being things like "don't collect yet" and
>"don't promote this stuff yet").

It would seem like you could easily figure out this information via profiling.
i.e. Run your program in a GC profiling mode, which will force the collector to GC very frequently
to figure out how much live data is actually being retained at various program/GC points.
Based on this collected data you should be able to tune the collector/compiler to explicitly GC
at program points known to have very small amounts of live data based on your profile,
and explicitly avoid GC if possible program at certain other program points. 

This profile driven GC tuning seems pretty easy to do has anyone tried such a thing before?