AnonymousClassLoader in JRuby

Charles Oliver Nutter charles.nutter at sun.com
Sun Apr 27 05:43:45 PDT 2008


Rémi Forax wrote:
> I've perhaps found why there is no difference in your test.
> I've re-read the code of your ruby Classoader and someting is weird,
> the last instruction of the static block should be

Some actual numbers now, showing difference.

The test instantiates 100k new Ruby methods and immediately causes them 
to JIT. This effectively creates 100k classes, normally with each loaded 
in its own classloader.

Heap memory did not appear to be a whole lot different, though 
Runtime.totalMemory reported 26MB with ACL versus 31MB without. That's 
not going to be very accurate though...jconsole reported both processes 
using about 210MB of heap.

Non-heap memory was smaller for the ACL case, 28MB versus 31.3MB.

Permgen was down to 25.2MB from 28.5MB.

So there's a definite improvement on non-heap and permgen memory use. 
Excellent!

- Charlie



More information about the mlvm-dev mailing list