On Thu, Dec 13, 2012 at 10:47 PM, Amaury Forgeot d'Arc <[email protected]> wrote: > 2012/12/13 Stefan Behnel <[email protected]> >> >> My intuition was to add a fastpath to Py_DECREF() that would do (close to) >> nothing if the PyPy object is still alive. Either that, or move this whole >> decision into C by somehow increasing the C level refcount during the >> lifetime of the PyPy object and decreasing it when the PyPy object dies. > > > It may be difficult, because most standard types don't have a __del__, > and I'm not sure we can attach a weak reference.
having tons of weakrefs is also a bad idea (or tons of objects with __del__s) > >> >> The latter approach (if doable) is obviously preferable from a C point of >> view because it would improve the hit-count of the "common case" tests in >> the INCREF/DECREF C macros, thus avoiding unnecessary calls into PyPy all >> together by using inlined code. That would give it about the same speed as >> in CPython for objects that are being reused in C code more than once for >> which a PyPy object reference exists (certainly not an unusual case). > > > > > -- > Amaury Forgeot d'Arc > > _______________________________________________ > pypy-dev mailing list > [email protected] > http://mail.python.org/mailman/listinfo/pypy-dev > _______________________________________________ pypy-dev mailing list [email protected] http://mail.python.org/mailman/listinfo/pypy-dev
