PyPy is a Python implementation in Python. Yes, it can interpret itself!
PyPy 1.5 was released on 30/04/2011
This release updates PyPy with the features of CPython 2.7.1, including the standard library, thus all features of CPython 2.6 and 2.7 are now supported. It also includes a large number of small improvements to the tracing JIT compiler. Details:
- Support: Intel machines running Linux 32/64 or Mac OS X. Windows is beta (it roughly works but a lot of small issues have not been fixed so far). Windows 64 is not yet supported.
Numerous speed achievements are described on our blog. Normalized speed charts comparing pypy 1.5 and pypy 1.4 as well as pypy 1.5 and cpython 2.6.2 are available on our benchmark website. The speed improvement over 1.4 seems to be around 25% on average.
The largest change in PyPy's tracing JIT is adding support for loop invariant code motion, which was mostly done by Håkan Ardö. This feature improves the performance of tight loops doing numerical calculations.
The CPython extension module API has been improved and now supports many more extensions. For information on which one are supported, please refer to our compatibility wiki.
These changes make it possible to support Tkinter and IDLE.
The cProfile profiler is now working with the JIT. However, it skews the performance in unstudied ways. Therefore it is not yet usable to analyze subtle performance problems (the same is true for CPython of course).
There is an external fork which includes an RPython version of the postgresql. However, there are no prebuilt binaries for this.
PyPy 1.4 was released on 22/10/2010
PyPy 1.3 was released on 26/06/2010
There are two principal areas of improvement in this release: stabilisation of the just-in-time compiler, and alpha-level support for the loading of CPython extension modules written in C.
PyPy 1.2 was released on 12/03/2010
The emphasis of this release is performance, with the JIT-enabled implementation known to outperform CPython on some real-world applications and benchmarks.
PyPy 1.1 was released on 28/04/2009
Some of the backends supported in 1.0 (namely The LLVM and the JS backends) have been dropped "because they were unmaintained and/or buggy". The old JIT has also been dropped in favor of a new one that is under active development.
PyPy 1.0 was released on 27/03/2007