I was able to get the backend server running on pypy with some effort.  It doesn't seem to be 100% working yet (I'm working through some issues in #pypy).

For pypy support you'll need to pull down the lxml_optional branch, at least until it's merged into master.

You'll also need to install psycopg2ct and set up a pyscopg2.py file in your sys.path.

Issues

  • I had an issue with zipfile.py during setup.py install and had to use https://bugs.pypy.org/issue912 this patch to zipfile.py.
  • Unknown issues involving swapping / memory usage and pypy not responding.
== No caching on, requesting a page that doesn't exist, using dev server ==

 Note: DEBUG was on in this test.

 pypy after jit warmup:

 Requests per second:    19.54 [#/sec] (mean)

 cpython:

 Requests per second:    15.54 [#/sec] (mean)

 Without caching there's much more database access, which means more IO waiting.

 pypy is 1.26 times faster.

 == Caching on, requesting tiny page that exists, using dev server ==

 pypy after jit warmup:

 Requests per second:    436.97 [#/sec] (mean)

 cpython:

 Requests per second:    337.76 [#/sec] (mean)

 pypy is 1.29 times faster