[Python-Dev] PEP 556: Threaded garbage collection (original) (raw)

Nathaniel Smith njs at pobox.com
Fri Sep 8 15:40:34 EDT 2017


On Fri, Sep 8, 2017 at 12:13 PM, Antoine Pitrou <solipsis at pitrou.net> wrote:

On Fri, 08 Sep 2017 12:04:10 -0700 Benjamin Peterson <benjamin at python.org> wrote:

I like it overall.

- I was wondering what happens during interpreter shutdown. I see you have that listed as a open issue. How about simply shutting down the finalization thread and not guaranteeing that finalizers are actually ever run à la Java? I don't know. People generally have expectations towards stuff being finalized properly (especially when talking about files etc.). Once the first implementation is devised, we will know more about what's workable (perhaps we'll have to move PyGCFini earlier in the shutdown sequence? perhaps we'll want to switch back to serial mode when shutting down?).

PyPy just abandons everything when shutting down, instead of running finalizers. See the last paragraph of : http://doc.pypy.org/en/latest/cpython_differences.html#differences-related-to-garbage-collection-strategies

So that might be a useful source of experience.

On another note, I'm going to be that annoying person who suggests massively extending the scope of your proposal. Feel free to throw things at me or whatever.

Would it make sense to also move signal handlers to run in this thread? Those are the other major source of nasty re-entrancy problems.

-n

-- Nathaniel J. Smith -- https://vorpus.org



More information about the Python-Dev mailing list