[Python-Dev] Investigating Python memory footprint of one real Web application

INADA Naoki songofacandy at gmail.com
Fri Jan 20 08:30:16 EST 2017

> Moving the refcount out of the PyObject will probably make increfs /
> decrefs more costly, and there are a lot of them.  We'd have to see
> actual measurements if a patch is written, but my intuition is that the
> net result won't be positive.
> Regards
> Antoine.

I agree with you.  But I have similar idea: split only PyGc_Head (3 words).

SImple implementation may just use pointer to PyGc_Head instead of embedding it.
+1 word for tracked objects, and -2 words for untracked objects.

More complex implementation may use bitmap for tracking objects.
Memory pool has the bitmap.
It means GC module have own memory pool and allocator, or GC module
and obmalloc are
tightly coupled.

But it's too hard.  I don't think I can do it by Python 3.7.

Reducing number of tuples may be easier.

More information about the Python-Dev mailing list