[pypy-dev] some GC statistics
Carl Friedrich Bolz
cfbolz at gmx.de
Mon Oct 15 01:13:27 CEST 2007
Hi all!
I did some statistics of the memory pypy-c uses when running pystone.
Some results below:
- objects allocated: 14228349
- size allocated: 314.25MB
- average object size: 23.16 bytes
- average object life time: 1.17MB allocated
- 0.3615% of objects lifes longer die before 8MB are allocated (which
is the default heap size (it's very similar for number of objects)
in this setting, a collection happened every 50KB allocated, so this is
about the error on life time numbers.
top ten allocated types:
GcStruct W_IntObject { super, inst_intval } 104.6MB
GcStruct StdObjSpaceFrame { super } 77.9MB
GcArray of * GcStruct object { typeptr } 62.9MB
GcStruct list { length, items } 27.5MB
GcArray of dictentry { key: * GcStruct W_Root { super }, f_everused:
Bool, value: * GcStruct W_Root { super }, f_hash: Signed } 6.7MB
GcStruct LoopBlock { super } 5.7MB
GcStruct rpy_string { hash, chars } 3.7MB
GcStruct ArgumentsPrepended { super, inst_args, inst_w_firstarg } 3.5MB
GcArray of Char 3.2MB
GcStruct W_StringObject { super, inst__value } 3.1 MB
there are also some more or less useful graphs here:
http://codespeak.net/~cfbolz/gcstats/pystone.pdf
This is not easily repeatable with richards, just because there is too
much data :-).
Cheers,
Carl Friedrich
More information about the Pypy-dev
mailing list