[Zope-dev] PyPy 1.4.1 and the ZTK

Jim Fulton jim at zope.com
Wed Dec 22 09:43:35 EST 2010


On Wed, Dec 22, 2010 at 9:24 AM, Martijn Faassen <faassen at startifact.com> wrote:
> Hi there,
>
> I thought it'd be interesting to note that PyPy 1.4.1 (with JIT) now
> works out of the box with buildout (at least if I use the '-d' option
> for distribute with bootstrap.py, but I suspect plain setuptools also
> works). I actually added a few compatibility fixes to buildout the other
> day that are now unnecessary: PyPy 1.4.1 adds the compatibility with
> released versions of buildout out of the box.

Cool.

> This makes it possible to start testing some of the ZTK with PyPy. There
> are challenges of course: certain packages, such as zope.interface, use
> C extensions and would need to be installed in "plain-python" mode (if
> available).

It is available. The setup script could, presumably, detect if it is running
under PyPy and not even try building extensions.

> The ZODB would definitely be an interesting challenge too.

This is something I want.  The hardest part of this is coming up
with a Python BTree implementation.

> One snag is that PyPy is only compatible up to Python 2.5. This might
> make some of the code fail. Then again, if it's the 'with' statement the
> fix is an "from __future__ import with_statement" away.
>
> A release of PyPy with Python 2.7 support is still a while away, but
> being worked on.
>
> The benefit of using PyPy? It has a JIT on board, so that should speed
> up some code significantly.

It would be cool to see some ZTK-related benchmarks.

> Whether it'll speed up some of our tests is
> hard to say though - the JIT might be more overhead than gain in that case.

I haven't found tests to be good measures of performance improvements.

Thanks for pointing this out.

Jim

-- 
Jim Fulton


More information about the Zope-Dev mailing list