[pypy-dev] Scrapy fails in PyPy

Amaury Forgeot d'Arc amauryfa at gmail.com
Thu Dec 13 21:47:08 CET 2012


2012/12/13 Stefan Behnel <stefan_ml at behnel.de>

> 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.


> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pypy-dev/attachments/20121213/451ec33f/attachment.html>


More information about the pypy-dev mailing list