[EuroPython 2011] Antonio Cuni,Armin Rigo - 23 June 2011 in "Track Lasagne"
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:
- Our blog: http://morepypy.blogspot.com/
- Eureka program: http://www.eurostars-eureka.eu/
Eurostars Eureka is our funding source since 2009. It is a cross-European funding collaboration that targets small firms which produce research.