[Python-Dev] No longer enable Py_TRACE_REFS by default in debug build (original) (raw)

Guido van Rossum guido at python.org
Wed Apr 10 15:07:50 EDT 2019


I recall finding memory leaks using this. (E.g. I remember a leak in Zope due to a cache that was never pruned.)

But presumably gc.get_objects() would have been sufficient. (IIRC it didn't exist at the time.)

On Wed, Apr 10, 2019 at 11:48 AM Steve Dower <steve.dower at python.org> wrote:

On 10Apr2019 1109, Steve Dower wrote: > On 10Apr2019 0401, Victor Stinner wrote: >>> I think it's worthwhile if we can really get to debug and non-debug >>> builds being ABI compatible. Getting partway there in this case doesn't >>> seem to offer any benefits. >> >> Disabling PyTRACEREFS by default in debug mode reduces the Python >> memory footprint. PyTRACEREFS costs 2 pointers per PyObject: 16 >> bytes on 64-bit platforms. > > Right, except it's debug mode.

I left this comment unfinished :) It's debug mode, and so you should expect less efficient memory and CPU usage. That's why we have two modes - so that it's easier to debug issues. Now, if debug mode was unusably slow or had way too much overhead, we'd want to fix that. But it isn't unusable, so reducing memory usage at the cost of making debugging harder is not compelling. Cheers, Steve


Python-Dev mailing list Python-Dev at python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/guido%40python.org

-- --Guido van Rossum (python.org/~guido) *Pronouns: he/him/his **(why is my pronoun here?)* <http://feministing.com/2015/02/03/how-using-they-as-a-singular-pronoun-can-change-the-world/> -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20190410/2bd9dde0/attachment.html>



More information about the Python-Dev mailing list