Hi Pablo,

could you or Erlend please explain why types which don't reference
any other objects need to participate in GC for deallocation ?

Many PRs or checked in patches only do this:

+static int
+ucd_traverse(PreviousDBVersion *self, visitproc visit, void *arg)
+{
+    Py_VISIT(Py_TYPE(self));
+    return 0;
+}
+

AFAIK (but could be wrong, of course), the type object itself
does not reference any other objects related to the object
that is being GCed.

By having (nearly) all stdlib types participate in GC, even ones
which don't reference other objects and cannot be parts of reference
circles, instead of immediately deleting them, we will keep those
objects alive for much longer than necessary, potentially causing a
resource overhead regression.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Experts (#1, May 27 2021)
>>> Python Projects, Coaching and Support ...    https://www.egenix.com/
>>> Python Product Development ...        https://consulting.egenix.com/
________________________________________________________________________

::: We implement business ideas - efficiently in both time and costs :::

   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611
               https://www.egenix.com/company/contact/
                     https://www.malemburg.com/

_______________________________________________
python-committers mailing list -- python-committers@python.org
To unsubscribe send an email to python-committers-le...@python.org
https://mail.python.org/mailman3/lists/python-committers.python.org/
Message archived at 
https://mail.python.org/archives/list/python-committers@python.org/message/BVR6UMBHF262EA2ULFKG6ZDVPRCUUJFA/
Code of Conduct: https://www.python.org/psf/codeofconduct/

Reply via email to