Closed
Bug 799519
Opened 12 years ago
Closed 12 years ago
Reduce number of GC allocation kinds to save memory
Categories
(Firefox OS Graveyard :: General, defect)
Firefox OS Graveyard
General
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: billm, Assigned: n.nethercote)
References
Details
(Whiteboard: [MemShrink][slim:?])
Attachments
(1 file)
(deleted),
patch
|
Details | Diff | Splinter Review |
As described in bug 798491 comment 11. We'd need to try both options (turning off background alloc and always using 4 inline slots) and see how they affect memory usage and responsiveness.
Assignee | ||
Comment 1•12 years ago
|
||
BTW, here's the list of GC thing kinds, from js/src/gc/Heap.h:
/* The GC allocation kinds. */
enum AllocKind {
FINALIZE_OBJECT0,
FINALIZE_OBJECT0_BACKGROUND,
FINALIZE_OBJECT2,
FINALIZE_OBJECT2_BACKGROUND,
FINALIZE_OBJECT4,
FINALIZE_OBJECT4_BACKGROUND,
FINALIZE_OBJECT8,
FINALIZE_OBJECT8_BACKGROUND,
FINALIZE_OBJECT12,
FINALIZE_OBJECT12_BACKGROUND,
FINALIZE_OBJECT16,
FINALIZE_OBJECT16_BACKGROUND,
FINALIZE_OBJECT_LAST = FINALIZE_OBJECT16_BACKGROUND,
FINALIZE_SCRIPT,
FINALIZE_SHAPE,
FINALIZE_BASE_SHAPE,
FINALIZE_TYPE_OBJECT,
#if JS_HAS_XML_SUPPORT
FINALIZE_XML,
#endif
FINALIZE_SHORT_STRING,
FINALIZE_STRING,
FINALIZE_EXTERNAL_STRING,
FINALIZE_IONCODE,
FINALIZE_LAST = FINALIZE_IONCODE
};
I think JS_HAS_XML_SUPPORT is off by default now, so that makes 20 kinds. Turning off the background finalization ones would save 6. Getting rid of 2, 8, 12 and 16 slot objects would save 4.
billm, can you clarify the theoretical effects of both of these changes?
Comment 2•12 years ago
|
||
JS_HAS_XML_SUPPORT is on since E4X is just a dynamic pref (currently on in chrome, off in content). Good reason to turn of E4X on B2G...
Reporter | ||
Comment 3•12 years ago
|
||
Well, I don't know much more than I wrote in the original comment.
Turning off background finalization: This will make GCs slower. And they'll get slower during a phase that is not incrementalized, so incremental GC won't help. We've seen demos on desktop where turning off background finalization in even one specific case caused two second pauses. That was with a big WebGL game, though. I doubt it would be nearly that dramatic in most cases.
Always using 4 inline slots: This would have pretty predictable memory overhead. Objects with fewer than 4 slots would waste the extra ones. Objects with more than 4 would use malloced slots for the remaining ones. I don't think jemalloc stores any header words, so that wouldn't be much of a waste, I guess. In terms of performance, the JITs need an extra load to access the malloc slots.
Comment 4•12 years ago
|
||
> I don't think jemalloc stores any header words, so that wouldn't be much of a waste, I
> guess.
I'm not entirely sure what you mean, but here's how jemalloc handles metadata:
* For "huge" allocations (1mb or larger) and "large" allocations (4kb or larger), we store metadata in a rbtree separate from the allocation.
* For other allocations, we store metadata in a bitmap which appears at the beginning of the alloc's bin. Each bin is an integer number of pages and contains allocations of only one size class. In practice, this means that 2kb allocations are particularly inefficient, because we have a bin of 16kb (iirc), and we waste a full 2kb for the bin's header.
In no case do we store a header directly in front of every allocation.
HTH.
Assignee | ||
Comment 5•12 years ago
|
||
> * For other allocations, we store metadata in a bitmap which appears at the
> beginning of the alloc's bin. Each bin is an integer number of pages and
> contains allocations of only one size class. In practice, this means that
> 2kb allocations are particularly inefficient, because we have a bin of 16kb
> (iirc), and we waste a full 2kb for the bin's header.
But we're only talking about cases where we have at most 16 slots. At 8 bytes per slot, that's at most 128 bytes. I think the jemalloc overhead for blocks of that size is negligible. So for objects with 5--16 slots there's negligible extra per-object space cost, just the time cost for the extra load to access the slots. Given that, it might be worth considering always using 0 inline slots instead of 4 inline slots (assuming that doesn't break things).
Note that we currently have no data on which GC thing kinds are responsible for most of the wasted space in small compartments.
Comment 6•12 years ago
|
||
> Given that, it might be worth considering always
> using 0 inline slots instead of 4 inline slots (assuming that doesn't break
> things).
I am interested in the result here.
I predict a regression because we kill locality and every object allocation will result in an additional malloc call.
>
> Note that we currently have no data on which GC thing kinds are responsible
> for most of the wasted space in small compartments.
Yes please lets get data first. From my experience we don't allocate too many different allocation kinds.
Note that we added background finalization because of limited devices. This was a huge win for my netbook with a single core.
Assignee | ||
Comment 7•12 years ago
|
||
This patch changes the measurement of gc-things so its grouped by kind.
TL;DR: I think removing the object0* and object2* kinds would probably be a
memory win for both desktop and B2G. (Until we can share arenas between
compartments.) Beyond that, it seems doubtful.
Here are the totals on a B2G linux64 desktop build, Main Process just after
start-up:
25,912,816 B (100.0%) -- js-main-runtime
ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ15,836,160 B (61.11%) -- compartments
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ10,461,184 B (40.37%) -- gc-heap
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ5,625,192 B (21.71%) -- used
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ1,453,568 B (05.61%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject4-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ1,323,760 B (05.11%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàshape
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ669,392 B (02.58%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàscript
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ591,040 B (02.28%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàshort-string
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ456,792 B (01.76%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàbase-shape
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ366,816 B (01.42%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject8-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ341,056 B (01.32%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàstring
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ112,128 B (00.43%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject2
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ107,088 B (00.41%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàtype-object
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ64,224 B (00.25%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject2-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ36,768 B (00.14%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject8
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ31,040 B (00.12%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject4
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ27,360 B (00.11%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject0-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ13,600 B (00.05%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject16
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ13,568 B (00.05%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject12-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ8,800 B (00.03%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject16-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ4,096 B (00.02%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject12
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ3,456 B (00.01%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàexternal-string
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ640 B (00.00%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàxml
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ4,683,984 B (18.08%) -- unused
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ651,800 B (02.52%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàshape
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ385,896 B (01.49%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàbase-shape
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ383,808 B (01.48%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject2
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ371,040 B (01.43%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject8-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ366,080 B (01.41%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàstring
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ356,800 B (01.38%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject4-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ314,016 B (01.21%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject0-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ306,400 B (01.18%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject16
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ290,592 B (01.12%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject2-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ283,456 B (01.09%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject4
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ279,984 B (01.08%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàtype-object
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ225,312 B (00.87%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject8
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ217,120 B (00.84%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàscript
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ102,464 B (00.40%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàshort-string
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ61,824 B (00.24%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject12-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ43,200 B (00.17%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject16-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ24,992 B (00.10%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàexternal-string
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ15,360 B (00.06%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàxml
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ3,840 B (00.01%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject12
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ152,008 B (00.59%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàarena-admin
Some kinds are very wasteful, e.g. object0-background, object16, object2.
Here's an example for a very small B2G compartment:
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ29,472 B (00.06%) -- compartment(null-principal)
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ20,480 B (00.04%) -- gc-heap
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ19,688 B (00.04%) -- unused
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ3,984 B (00.01%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject2
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ3,984 B (00.01%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàtype-object
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ3,960 B (00.01%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàshape
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ3,920 B (00.01%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàbase-shape
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ3,840 B (00.01%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject16-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ448 B (00.00%) -- used
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ160 B (00.00%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject16-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ112 B (00.00%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàbase-shape
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ80 B (00.00%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàshape
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ48 B (00.00%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject2
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ48 B (00.00%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàtype-object
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ344 B (00.00%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàarena-admin
This makes the waste more obvious, but there's no clear path to victory --
at most we could merge the object2 and object16-background kinds. But then,
not all the compartments are that small, so that's a bit misleading.
Here's a slightly larger B2G compartment:
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ99,224 B (00.20%) -- compartment([System Principal],
resource://gre/modules/FileUtils.jsm)
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ69,632 B (00.14%) -- gc-heap
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ45,640 B (00.09%) -- unused
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ5,568 B (00.01%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject8-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ4,816 B (00.01%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàbase-shape
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ4,640 B (00.01%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàshape
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ4,032 B (00.01%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàstring
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ3,968 B (00.01%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject0-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ3,968 B (00.01%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject4
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ3,888 B (00.01%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject2-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ3,840 B (00.01%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject16
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ3,360 B (00.01%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàtype-object
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ3,072 B (00.01%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject2
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ2,760 B (00.01%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàscript
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ1,728 B (00.00%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject4-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ22,976 B (00.05%) -- used
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ7,480 B (00.02%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàshape
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ6,336 B (00.01%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject4-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ3,248 B (00.01%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàbase-shape
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ2,496 B (00.01%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject8-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ1,288 B (00.00%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàscript
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ960 B (00.00%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject2
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ672 B (00.00%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàtype-object
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ160 B (00.00%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject16
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ144 B (00.00%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject2-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ96 B (00.00%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject0-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ64 B (00.00%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject4
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ32 B (00.00%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàstring
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ1,016 B (00.00%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàarena-admin
Here are the totals after running MemBench on desktop:
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ464.38 MB (47.93%) -- gc-heap
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ352.66 MB (36.40%) -- used
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ94.30 MB (09.73%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject4-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ80.31 MB (08.29%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàshape
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ67.91 MB (07.01%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàscript
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ24.15 MB (02.49%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject8-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ19.54 MB (02.02%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàshort-string
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ18.74 MB (01.93%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàtype-object
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ18.17 MB (01.88%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàbase-shape
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ11.07 MB (01.14%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàstring
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ5.66 MB (00.58%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject2-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ4.05 MB (00.42%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject2
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ2.85 MB (00.29%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject12-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ1.85 MB (00.19%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject16-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ1.78 MB (00.18%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàexternal-string
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ1.12 MB (00.12%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject4
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ0.61 MB (00.06%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject0-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ0.36 MB (00.04%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject8
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ0.15 MB (00.02%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject16
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ0.02 MB (00.00%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàxml
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ0.00 MB (00.00%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject12
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ0.00 MB (00.00%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàioncode
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ104.99 MB (10.84%) -- unused
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ15.07 MB (01.56%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject8-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ14.51 MB (01.50%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàshape
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ13.97 MB (01.44%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject4-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ7.78 MB (00.80%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject2-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ7.38 MB (00.76%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàstring
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ7.03 MB (00.73%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàshort-string
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ5.01 MB (00.52%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject2
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ4.44 MB (00.46%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàbase-shape
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ4.39 MB (00.45%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject4
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ3.98 MB (00.41%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject0-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ3.96 MB (00.41%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàtype-object
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ3.54 MB (00.37%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject16
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ3.16 MB (00.33%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject8
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ3.03 MB (00.31%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàscript
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ2.58 MB (00.27%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject16-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ2.35 MB (00.24%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàexternal-string
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ2.22 MB (00.23%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject12-background
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ0.57 MB (00.06%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàxml
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ0.03 MB (00.00%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàobject12
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ0.00 MB (00.00%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàioncode
ÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂàÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂ6.73 MB (00.69%) ÃÂâÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂàarena-admin
Again, object0* and object2* cause more problems that they're worth.
Assignee | ||
Updated•12 years ago
|
Assignee: nobody → n.nethercote
Comment 8•12 years ago
|
||
whatever you are using to post to bugzilla still is not handling weird characters properly. ;)
Assignee | ||
Comment 9•12 years ago
|
||
(2nd attempt)
This patch changes the measurement of gc-things so its grouped by kind.
TL;DR: I think removing the object0* and object2* kinds would probably be a
memory win for both desktop and B2G. (Until we can share arenas between
compartments.) Beyond that, it seems doubtful.
Here are the totals on a B2G linux64 desktop build, Main Process just after
start-up:
25,912,816 B (100.0%) -- js-main-runtime
├──15,836,160 B (61.11%) -- compartments
│ ├──10,461,184 B (40.37%) -- gc-heap
│ │ ├───5,625,192 B (21.71%) -- used
│ │ │ ├──1,453,568 B (05.61%) ── object4-background
│ │ │ ├──1,323,760 B (05.11%) ── shape
│ │ │ ├────669,392 B (02.58%) ── script
│ │ │ ├────591,040 B (02.28%) ── short-string
│ │ │ ├────456,792 B (01.76%) ── base-shape
│ │ │ ├────366,816 B (01.42%) ── object8-background
│ │ │ ├────341,056 B (01.32%) ── string
│ │ │ ├────112,128 B (00.43%) ── object2
│ │ │ ├────107,088 B (00.41%) ── type-object
│ │ │ ├─────64,224 B (00.25%) ── object2-background
│ │ │ ├─────36,768 B (00.14%) ── object8
│ │ │ ├─────31,040 B (00.12%) ── object4
│ │ │ ├─────27,360 B (00.11%) ── object0-background
│ │ │ ├─────13,600 B (00.05%) ── object16
│ │ │ ├─────13,568 B (00.05%) ── object12-background
│ │ │ ├──────8,800 B (00.03%) ── object16-background
│ │ │ ├──────4,096 B (00.02%) ── object12
│ │ │ ├──────3,456 B (00.01%) ── external-string
│ │ │ └────────640 B (00.00%) ── xml
│ │ ├───4,683,984 B (18.08%) -- unused
│ │ │ ├────651,800 B (02.52%) ── shape
│ │ │ ├────385,896 B (01.49%) ── base-shape
│ │ │ ├────383,808 B (01.48%) ── object2
│ │ │ ├────371,040 B (01.43%) ── object8-background
│ │ │ ├────366,080 B (01.41%) ── string
│ │ │ ├────356,800 B (01.38%) ── object4-background
│ │ │ ├────314,016 B (01.21%) ── object0-background
│ │ │ ├────306,400 B (01.18%) ── object16
│ │ │ ├────290,592 B (01.12%) ── object2-background
│ │ │ ├────283,456 B (01.09%) ── object4
│ │ │ ├────279,984 B (01.08%) ── type-object
│ │ │ ├────225,312 B (00.87%) ── object8
│ │ │ ├────217,120 B (00.84%) ── script
│ │ │ ├────102,464 B (00.40%) ── short-string
│ │ │ ├─────61,824 B (00.24%) ── object12-background
│ │ │ ├─────43,200 B (00.17%) ── object16-background
│ │ │ ├─────24,992 B (00.10%) ── external-string
│ │ │ ├─────15,360 B (00.06%) ── xml
│ │ │ └──────3,840 B (00.01%) ── object12
│ │ └─────152,008 B (00.59%) ── arena-admin
Some kinds are very wasteful, e.g. object0-background, object16, object2.
Here's an example for a very small B2G compartment:
│ │ │ ├──────29,472 B (00.06%) -- compartment(null-principal)
│ │ │ │ ├──20,480 B (00.04%) -- gc-heap
│ │ │ │ │ ├──19,688 B (00.04%) -- unused
│ │ │ │ │ │ ├───3,984 B (00.01%) ── object2
│ │ │ │ │ │ ├───3,984 B (00.01%) ── type-object
│ │ │ │ │ │ ├───3,960 B (00.01%) ── shape
│ │ │ │ │ │ ├───3,920 B (00.01%) ── base-shape
│ │ │ │ │ │ └───3,840 B (00.01%) ── object16-background
│ │ │ │ │ ├─────448 B (00.00%) -- used
│ │ │ │ │ │ ├──160 B (00.00%) ── object16-background
│ │ │ │ │ │ ├──112 B (00.00%) ── base-shape
│ │ │ │ │ │ ├───80 B (00.00%) ── shape
│ │ │ │ │ │ ├───48 B (00.00%) ── object2
│ │ │ │ │ │ └───48 B (00.00%) ── type-object
│ │ │ │ │ └─────344 B (00.00%) ── arena-admin
This makes the waste more obvious, but there's no clear path to victory --
at most we could merge the object2 and object16-background kinds. But then,
not all the compartments are that small, so that's a bit misleading.
Here's a slightly larger B2G compartment:
│ │ │ ├──────99,224 B (00.20%) -- compartment([System Principal],
resource://gre/modules/FileUtils.jsm)
│ │ │ │ ├──69,632 B (00.14%) -- gc-heap
│ │ │ │ │ ├──45,640 B (00.09%) -- unused
│ │ │ │ │ │ ├───5,568 B (00.01%) ── object8-background
│ │ │ │ │ │ ├───4,816 B (00.01%) ── base-shape
│ │ │ │ │ │ ├───4,640 B (00.01%) ── shape
│ │ │ │ │ │ ├───4,032 B (00.01%) ── string
│ │ │ │ │ │ ├───3,968 B (00.01%) ── object0-background
│ │ │ │ │ │ ├───3,968 B (00.01%) ── object4
│ │ │ │ │ │ ├───3,888 B (00.01%) ── object2-background
│ │ │ │ │ │ ├───3,840 B (00.01%) ── object16
│ │ │ │ │ │ ├───3,360 B (00.01%) ── type-object
│ │ │ │ │ │ ├───3,072 B (00.01%) ── object2
│ │ │ │ │ │ ├───2,760 B (00.01%) ── script
│ │ │ │ │ │ └───1,728 B (00.00%) ── object4-background
│ │ │ │ │ ├──22,976 B (00.05%) -- used
│ │ │ │ │ │ ├───7,480 B (00.02%) ── shape
│ │ │ │ │ │ ├───6,336 B (00.01%) ── object4-background
│ │ │ │ │ │ ├───3,248 B (00.01%) ── base-shape
│ │ │ │ │ │ ├───2,496 B (00.01%) ── object8-background
│ │ │ │ │ │ ├───1,288 B (00.00%) ── script
│ │ │ │ │ │ ├─────960 B (00.00%) ── object2
│ │ │ │ │ │ ├─────672 B (00.00%) ── type-object
│ │ │ │ │ │ ├─────160 B (00.00%) ── object16
│ │ │ │ │ │ ├─────144 B (00.00%) ── object2-background
│ │ │ │ │ │ ├──────96 B (00.00%) ── object0-background
│ │ │ │ │ │ ├──────64 B (00.00%) ── object4
│ │ │ │ │ │ └──────32 B (00.00%) ── string
│ │ │ │ │ └───1,016 B (00.00%) ── arena-admin
Here are the totals after running MemBench on desktop:
│ ├──464.38 MB (47.93%) -- gc-heap
│ │ ├──352.66 MB (36.40%) -- used
│ │ │ ├───94.30 MB (09.73%) ── object4-background
│ │ │ ├───80.31 MB (08.29%) ── shape
│ │ │ ├───67.91 MB (07.01%) ── script
│ │ │ ├───24.15 MB (02.49%) ── object8-background
│ │ │ ├───19.54 MB (02.02%) ── short-string
│ │ │ ├───18.74 MB (01.93%) ── type-object
│ │ │ ├───18.17 MB (01.88%) ── base-shape
│ │ │ ├───11.07 MB (01.14%) ── string
│ │ │ ├────5.66 MB (00.58%) ── object2-background
│ │ │ ├────4.05 MB (00.42%) ── object2
│ │ │ ├────2.85 MB (00.29%) ── object12-background
│ │ │ ├────1.85 MB (00.19%) ── object16-background
│ │ │ ├────1.78 MB (00.18%) ── external-string
│ │ │ ├────1.12 MB (00.12%) ── object4
│ │ │ ├────0.61 MB (00.06%) ── object0-background
│ │ │ ├────0.36 MB (00.04%) ── object8
│ │ │ ├────0.15 MB (00.02%) ── object16
│ │ │ ├────0.02 MB (00.00%) ── xml
│ │ │ ├────0.00 MB (00.00%) ── object12
│ │ │ └────0.00 MB (00.00%) ── ioncode
│ │ ├──104.99 MB (10.84%) -- unused
│ │ │ ├───15.07 MB (01.56%) ── object8-background
│ │ │ ├───14.51 MB (01.50%) ── shape
│ │ │ ├───13.97 MB (01.44%) ── object4-background
│ │ │ ├────7.78 MB (00.80%) ── object2-background
│ │ │ ├────7.38 MB (00.76%) ── string
│ │ │ ├────7.03 MB (00.73%) ── short-string
│ │ │ ├────5.01 MB (00.52%) ── object2
│ │ │ ├────4.44 MB (00.46%) ── base-shape
│ │ │ ├────4.39 MB (00.45%) ── object4
│ │ │ ├────3.98 MB (00.41%) ── object0-background
│ │ │ ├────3.96 MB (00.41%) ── type-object
│ │ │ ├────3.54 MB (00.37%) ── object16
│ │ │ ├────3.16 MB (00.33%) ── object8
│ │ │ ├────3.03 MB (00.31%) ── script
│ │ │ ├────2.58 MB (00.27%) ── object16-background
│ │ │ ├────2.35 MB (00.24%) ── external-string
│ │ │ ├────2.22 MB (00.23%) ── object12-background
│ │ │ ├────0.57 MB (00.06%) ── xml
│ │ │ ├────0.03 MB (00.00%) ── object12
│ │ │ └────0.00 MB (00.00%) ── ioncode
│ │ └────6.73 MB (00.69%) ── arena-admin
Again, object0* and object2* cause more problems that they're worth.
---- END Attachment Comment ----
Assignee | ||
Comment 10•12 years ago
|
||
Hmm, jsfun.h has this:
#if JS_BITS_PER_WORD == 32
static const js::gc::AllocKind FinalizeKind = js::gc::FINALIZE_OBJECT2_BACKGROUND;
static const js::gc::AllocKind ExtendedFinalizeKind = js::gc::FINALIZE_OBJECT4_BACKGROUND;
#else
static const js::gc::AllocKind FinalizeKind = js::gc::FINALIZE_OBJECT4_BACKGROUND;
static const js::gc::AllocKind ExtendedFinalizeKind = js::gc::FINALIZE_OBJECT8_BACKGROUND;
#endif
So it looks like OBJECT2 will get used a lot more on 32-bit platforms.
And OBJECT0 is used for empty arrays in some way that involves shapes that I don't entirely understand but am reluctant to fiddle with. Hmm.
Comment 11•12 years ago
|
||
Do we have any data on how often we fail to predict the number of inline slots and we have to use malloc instead? It would be good to monitor this value as well if me make changes here.
Assignee | ||
Comment 12•12 years ago
|
||
> Do we have any data on how often we fail to predict the number of inline
> slots and we have to use malloc instead?
IIUC Luke correctly, we end up using malloc as well, rather than instead, i.e. the inline slots still get used.
(But you're right that it would be interesting.)
Updated•12 years ago
|
Whiteboard: [MemShrink] → [MemShrink][slim:?]
Assignee | ||
Comment 13•12 years ago
|
||
I don't think there's any room for improvement here. Bug 798491 is the best hope for a short-term improvement, and bug 759585 is the full long-term fix.
Assignee | ||
Updated•12 years ago
|
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•