On Wed, Mar 26, 2014, at 13:47, Kevin Modzelewski wrote: > Hi all, thanks for the responses, but I guess I should have been more > explicit -- I'm curious about *why* PyPy is slow on existing extension > modules and why people are being steered away from them. I completely > support the push to move away from CPython extension modules, but I'm not > sure it's reasonable to expect that programmers will rewrite all the > extension modules they use. > > Put another way, I understand how having a JIT-understandable cffi module > will be faster on PyPy than an extension module, but what I don't quite > understand is why CPython extension modules have to be slower on PyPy > than > they are on CPython. I'm not saying that extension modules should be > sped > up by PyPy, but I'm curious why they have a reputation for being slower.
There are several reasons. Two of the most important are 1) PyPy's internal representation of objects is different from CPython's, so a conversion cost must be payed every time objects pass between pure Python and C. Unlike CPython, extensions with PyPy can't poke around directly in data structures. Macros like PyList_SET_ITEM have to become function calls. 2) Bridging the gap between PyPy's GC and CPython's ref counting requires a lot of bookkeeping. _______________________________________________ pypy-dev mailing list [email protected] https://mail.python.org/mailman/listinfo/pypy-dev
