[Gc] More memory used on PPC platforms?

Henning Makholm Henning at octoshape.com
Wed Feb 6 09:16:56 PST 2008

Jim Marshall wrote:

> are noticing a big performance drop between our X86 and PPC program. I
> suspect this is mainly due to the CPU on the PPC side, but on
> X86 our GC cycles take roughly 30 msec, whereas on PPC it takes
> about 90 msec.

And why shouldn't this be due to different CPU performance, too?

> On the PPC machine the last couple of stats are

> --> Marking for collection 100 after 3864224 allocd bytes + 0 wasted bytes
> Collection 99 finished ---> heapsize = 11038720 bytes

> On the X86 the last couple of stats are

> Initiating full world-stop collection 132 after 1801880 allocd bytes
> Collection 131 finished ---> heapsize = 8941568 bytes

> As you can see there is a difference between the PPC and X86 memory
> consumption,

But not by much - the difference between 9 M and 11 M is
less than a single heap growth step. The exact sequence of how the
total heap size grows depends chaotically on a lot of things that
inherently vary between platforms. If you were to have a bit more
live data, the x86 heap might well grow to 12 M in the next increase,
while ppc would be able to stay with the 11 M.

In both cases, the amount of live data seems to be about 7.2 M. On ppc,
the larger total heap size means that there is room to allocate 3.8 M
after a collection before it is necessary to collect again, as opposed
to only 1.8 on x86.

Henning Makholm
OctoShape ApS

More information about the Gc mailing list