gc_ms2_tuning branch

Vasily Chekalkin bacek at bacek.com
Mon Sep 27 00:58:09 UTC 2010


Hello.

On Mon, Sep 27, 2010 at 4:04 AM, Nick Wellnhofer <wellnhofer at aevum.de> wrote:
> It also turned out that the double linked lists in the new GC code are quite
> a hit on performance and memory consumption. I replaced them with a simple
> array as GC mark stack but afaics the double linked lists will also be used
> for Generational GC. So maybe this approach doesn't work out.

Yes, main purpose of using lists was to simplify GenGC implementation.
If we want to use your approach we have implement compacting to avoid
sweeping all memory after marking young generations.

> The dynamic threshold is a space-time tradeoff. Generally, lower values
> cause more GC runs, more execution time and less memory consumption. But on
> memory limited machines, a lower threshold can also improve general
> perfomance if it avoids swapping.

I think dynamic threshold should be similar to JVM's schema: maximize
throughput with minimizing pause time.
http://www.oracle.com/technetwork/java/ergo5-140223.html


-- 
Bacek


More information about the parrot-dev mailing list