32 subscribers
با برنامه Player FM !
PyObject preservation
Manage episode 294513501 series 2921809
Given two separately refcounted objects, how can you arrange for each of them to stay live so long as the other is live? Why doesn't just having a strong-strong or strong-weak reference between the two objects work? What is object resurrection in CPython? What's a finalizer and why does it make things more complicated? How does Python GC work?
Further reading.
- PyObject preservation PR https://github.com/pytorch/pytorch/pull/56017
- Sam Gross's original PoC, which works fine if the two objects in question are both PyObjects https://github.com/colesbury/refcount/
- PEP 442 Safe object finalization https://www.python.org/dev/peps/pep-0442/
- Essential reading about Python GC https://devguide.python.org/garbage_collector/
83 قسمت
Manage episode 294513501 series 2921809
Given two separately refcounted objects, how can you arrange for each of them to stay live so long as the other is live? Why doesn't just having a strong-strong or strong-weak reference between the two objects work? What is object resurrection in CPython? What's a finalizer and why does it make things more complicated? How does Python GC work?
Further reading.
- PyObject preservation PR https://github.com/pytorch/pytorch/pull/56017
- Sam Gross's original PoC, which works fine if the two objects in question are both PyObjects https://github.com/colesbury/refcount/
- PEP 442 Safe object finalization https://www.python.org/dev/peps/pep-0442/
- Essential reading about Python GC https://devguide.python.org/garbage_collector/
83 قسمت
همه قسمت ها
×












به Player FM خوش آمدید!
Player FM در سراسر وب را برای یافتن پادکست های با کیفیت اسکن می کند تا همین الان لذت ببرید. این بهترین برنامه ی پادکست است که در اندروید، آیفون و وب کار می کند. ثبت نام کنید تا اشتراک های شما در بین دستگاه های مختلف همگام سازی شود.