[Gc] More memory used on PPC platforms?

jim marshall jim.marshall at wbemsolutions.com
Wed Feb 6 08:02:42 PST 2008


Hi,
  We recently ported our application to the PPC 405 platform. First we 
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.

However my main concern is that on the PPC platform our program is using 
more memory then on the x86 side. I ran a test where I started our 
product ran a test and shut it down. I performed the exact same steps on 
both machines and I enabled GC_PRINT_STATS. On the PPC machine the last 
couple of stats are

Initiating full world-stop collection 100 after 3864224 allocd bytes
--> Marking for collection 100 after 3864224 allocd bytes + 0 wasted bytes
Collection 99 finished ---> heapsize = 11038720 bytes
World-stopped marking took 90 msecs
Complete collection took 90 msecs
Initiating full world-stop collection 101 after 3868300 allocd bytes
--> Marking for collection 101 after 3868300 allocd bytes + 4420 wasted bytes
Collection 100 finished ---> heapsize = 11038720 bytes
World-stopped marking took 10 msecs
Complete collection took 10 msecs


On the X86 the last couple of stats are

Initiating full world-stop collection 132 after 1801880 allocd bytes
--> Marking for collection 132 after 1801880 allocd bytes + 0 wasted bytes
Collection 131 finished ---> heapsize = 8941568 bytes
World-stopped marking took 30 msecs
Complete collection took 30 msecs
Initiating full world-stop collection 133 after 1808692 allocd bytes
--> Marking for collection 133 after 1808692 allocd bytes + 60884 wasted bytes
Collection 132 finished ---> heapsize = 8941568 bytes
World-stopped marking took 10 msecs
Complete collection took 10 msecs


As you can see there is a difference between the PPC and X86 memory 
consumption, wasted bytes (what does that mean, BTW) and the amount of 
time the collection took.

We are using GC 6.8 and it is being built on both platforms as follows:

 ./configure --enable-gc-assertions --enable-static=no 
--enable-threads=posix

Is there a better way to compile for PPC?

Any thoughts on why memory usage for the same code is more on PPC then 
on X86?

Thanks



More information about the Gc mailing list