[Mono-list] Large object heap size threshold

Rodrigo Kumpera kumpera at gmail.com
Wed Jan 15 17:23:13 UTC 2014


On Wed, Jan 15, 2014 at 7:00 AM, Matt Calder <mvcalder at gmail.com> wrote:

> Rodrigo,
>
> Thanks for the quick response. Following your suggestion, in sgen-conf.h I
> see:
>
> /*
>  * Objects bigger then this go into the large object space.  This size
>  * has a few constraints.  It must fit into the major heap, which in
>  * the case of the copying collector means that it must fit into a
>  * pinned chunk.  It must also play well with the GC descriptors, some
>  * of which (DESC_TYPE_RUN_LENGTH, DESC_TYPE_SMALL_BITMAP) encode the
>  * object size.
>  */
> #define SGEN_MAX_SMALL_OBJ_SIZE 8000
>
> I am wondering what is the size of a pinned chunk? Also what does "play
> well" entail? Perhaps more to the point, if I set that number to say:
>

Ignore that, the copying collection is gone and we did not update it.


> #define SGEN_MAX_SMALL_OBJ_SIZE 64000
>
> do I run afoul of any constraints? Thanks for answering this,
>

Yes, you'd have to adjust the major collector to support objects that big.
In that case it's the block size that must be extended to
be bigger than that. See MS_BLOCK_SIZE/MS_BLOCK_SIZE_SHIFT in
sgen-marksweep.c.


By "play well" we mean that it does produce empirically good results.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-list/attachments/20140115/c8fd3484/attachment.html>


More information about the Mono-list mailing list