Improved Garbage Collection performance
Boehm, Hans
hans_boehm@hp.com
Wed Nov 19 19:31:00 GMT 2003
> From: John Neil
>
> Following a post from Jeff Sturm, I tried two relatively simple
> modifications to gcj and boehm garbage collection and was
> able to gain a
> 200-300% improvement on a full garbage collection (from
> ~150ms to ~50ms).
Good. This will reduce pause time and heap size. In the default
configuration, it probably won't reduce overall execution time, since
the GC frequency is automatically adjusted to compensate.
I still think something like this should make it into the tree.
Bit it should be possible to turn full scanning of bss and data back
on for debugging, and for native code that needs it. I can work on
adding that option (the easy part) if/when the restricted root scanning
makes it into the tree.
This is a significant change for CNI code, so it shouldn't happen just
before a release.
> Whilst on GC, I was wondering what is the difference between
> _Jv_Malloc and
> JV_MallocUnchecked.
I think the only difference whether they check for a NULL return from malloc
and raise an exception if necessary.
The GC_ routines are set up to raise the exception internally, which saves
a redundant test, at the expense of requiring exception information for some
GC code.
Hans
More information about the Java
mailing list