Quietly and completely, as they say, imperceptibly, the
2009Q3 branch of the interesting and promising Unladen Swallow project was late.
If someone has slept through all the polymers and doesn't know, then “swallow light” (yes, yes, not only Guido loves Monty Python) is a project of Google employees trying to make a more efficient and effective Python interpreter, at the same time, it is maximally compatible with CPython (at the moment, CPython 2.6.1 is considered a comparison sample). To do this, they used the
LLVM framework, which is a virtual machine with a ready-made JIT compiler and a pseudo-bytecode for it as a universal intermediate representation between a high-level language (in our case, Python) and a low-level optimized implementation (C-code or machine-specific hardware codes platform.)
Promising to release steadily on release in a quarter (and naming them accordingly), they released the second release, in which LLVM is already running (the very first release, 2009Q1, LLVM did not yet contain and was basically a set of preparatory patches that since then in fact, everyone is already in the mainstream branch of CPython). If the release of Q2 was “the first pancake” and ate about 10 times more memory than CPython (but at the same time, despite the JIT revolution, maintaining backward compatibility and passing all the tests in a huge number of libraries, from Twisted and Django to Numpy and Sympy ), the Q3 version is already prettier and stronger. Performance has risen in some tests to 170% of Q2; memory consumption has dropped significantly, and although it is still 2-3 times more than CPython, the developers claim that they know where and what else to optimize for the Q4 version.
But at the same time, as in the previous release, the developers, unfortunately, strongly do not recommend using the “swallow” for serious tasks. So far this is only an intermediate stage on the way to a brighter future (in which developers maximally squeeze the code with CPython, or even infuse the “swallow” into it completely), ... and moreover, with a stable LLVM 2.5 branch and even with a “candidate in stable "branch of LLVM 2.6" swallow "will not even work, because it focuses on the most recent LLVM trunk.