On Wed, Dec 22, 2010 at 9:24 AM, Martijn Faassen <faassen@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