Fedora meeting Mono Half-Way

Tom Tromey tromey at redhat.com
Thu Dec 15 23:38:56 UTC 2005


>>>>> "Callum" == Callum Lerwick <seg at haxxed.com> writes:

Callum> Its still way bigger than anything else on the machine. Java
Callum> objects = bloaty.

Callum> http://c2.com/cgi/wiki?JavaObjectOverheadIsRidiculous

The object "overhead" with gcj is the vtable pointer, plus of course
whatever the GC needs for its bookkeeping (similar, I think, to
whatever malloc would need).

Synchronization is handled in a lookaside hash table; entries are only
created for objects which are actually synchronized.  The bits
describing object layout to the GC are stuffed in the vtable, i.e.,
there is one GC descriptor per class, not per object.

Callum> I hope gcj's ahead of time compilation is capable of cutting
Callum> down some of this bloat.

This question is more complicated than you might think.
We can discuss it on the gcj list if you like.

Tom




More information about the fedora-devel-list mailing list