This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author eelizondo
Recipients eelizondo
Date 2018-03-12.19:47:08
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1520884028.33.0.467229070634.issue33058@psf.upfronthosting.co.za>
In-reply-to
Content
Currently, Python has very few instrumentation when it comes to the types of allocations that it's doing. For instance, we currently can't identify how many times an object uses free lists vs actual mallocs.

Currently, there's a special build which can be used by compiling with "-DCOUNT_ALLOCS". However, this build is not ABI compatible with extensions. Meaning you have to recompile all the modules that are used. Doing this on a large scale scenario (1000+ modules) is not feasible.

Thus, I propose the following enhancements:
* Make COUNT_ALLOCS ABI compatible

Then:
* Expand the counters to not only track allocs and frees but also distinguish between:
* GC Counts: Allocs/Frees coming from PyObject_GC_Malloc PyObject_GC_Del
* Memory Counts: Allocs/Frees coming from PyMem_Malloc/PyObject_Malloc PyObject_Free (modulo GC objects).
* Free Lists: "Allocs/Frees" coming from specific object's free_lists/caches.
* Misc: Extra kinds of "Allocs/Frees" such as code's zombie frame.
History
Date User Action Args
2018-03-12 19:47:08eelizondosetrecipients: + eelizondo
2018-03-12 19:47:08eelizondosetmessageid: <1520884028.33.0.467229070634.issue33058@psf.upfronthosting.co.za>
2018-03-12 19:47:08eelizondolinkissue33058 messages
2018-03-12 19:47:08eelizondocreate