Contribute Media
A thank you to everyone who makes this possible: Read More

PyPy in production

Summary

[EuroPython 2011] Antonio Cuni,Armin Rigo - 23 June 2011 in "Track Lasagne"

Description

The PyPy project has recently gathered a lot of attention for its progress in speeding up the Python language - it is the fastest Python interpreter, and the most compatible and most stable 'alternative´ one. No longer merely a research project, PyPy is now suitable for production use. We are working on improvements on calling into C libraries and generally integrating with the existing Python extensions ecosystem.

We will give an overview on how the tracing Just-in-Time compiler works in PyPy. From there, we will then focus on what the PyPy project has achieved, particularly in the past two years:

  • most Python benchmarks run much faster than with CPython or Psyco
  • the real-world PyPy compiler toolchain itself (200 KLocs) runs twice as fast
  • already supports 32 and 64bit x86 and is in the process of supporting ARM
  • full compatibility with CPython (more than Jython/IronPython)
  • full (and JIT-ed) ctypes support to call C libraries from Python
  • supports Stackless Python (in-progress)
  • new "cpyext" layer which integrates existing CPython C extensions
  • an experimental super-fast JIT-compilation of calls to C++ libraries

We want to reserve time for discussing potential future work like SWIG and/or Cython compatibility and other areas brought up by the audience. There are many interesting details that can be explored further; we will focus on the points the audience is most interested in.

For more info:

Eurostars Eureka is our funding source since 2009. It is a cross-European funding collaboration that targets small firms which produce research.

Improve this page