Unladen Swallow
Encyclopedia
Unladen Swallow was an optimization branch of CPython
, intended to be fully compatible and significantly faster. It aimed to achieve its goals by supplementing CPython's custom virtual machine
with a JIT
built using LLVM. The project had stated a goal of a five-times speed improvement over CPython. This goal was not met.
The project was sponsored by Google
, and the project owners, Thomas Wouters, Jeffrey Yasskin, and Collin Winter, are themselves full-time Google employees, however the majority of the contributors to the project are not Google employees. Unladen Swallow is hosted on Google Code.
Like many things regarding the Python language, "Unladen Swallow" is a Monty Python
reference, specifically to the gag about the airspeed of unladen swallows in Monty Python and the Holy Grail
.
The 2009 Q4 development branch was created on January 26, 2010 but no advertising was made on the website. Furthermore, regarding the long-term plans and as the project missed the Python 2.7 release, a PEP has been accepted, which proposes a merge of Unladen Swallow into a special py3k-jit branch of Python's official repository. As of July 2010, this work was ongoing. This merging may take some time, since Unladen Swallow was originally based on Python 2.6 with which Python 3 broke compatibility (see Python 3000 for further details).
CPython
CPython is the default, most-widely used implementation of the Python programming language. It is written in C. In addition to CPython, there are two other production-quality Python implementations: Jython, written in Java, and IronPython, which is written for the Common Language Runtime. There...
, intended to be fully compatible and significantly faster. It aimed to achieve its goals by supplementing CPython's custom virtual machine
Virtual machine
A virtual machine is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software emulation or hardware virtualization or both together.-VM Definitions:A virtual machine is a software...
with a JIT
Just-in-time compilation
In computing, just-in-time compilation , also known as dynamic translation, is a method to improve the runtime performance of computer programs. Historically, computer programs had two modes of runtime operation, either interpreted or static compilation...
built using LLVM. The project had stated a goal of a five-times speed improvement over CPython. This goal was not met.
The project was sponsored by Google
Google
Google Inc. is an American multinational public corporation invested in Internet search, cloud computing, and advertising technologies. Google hosts and develops a number of Internet-based services and products, and generates profit primarily from advertising through its AdWords program...
, and the project owners, Thomas Wouters, Jeffrey Yasskin, and Collin Winter, are themselves full-time Google employees, however the majority of the contributors to the project are not Google employees. Unladen Swallow is hosted on Google Code.
Like many things regarding the Python language, "Unladen Swallow" is a Monty Python
Monty Python
Monty Python was a British surreal comedy group who created their influential Monty Python's Flying Circus, a British television comedy sketch show that first aired on the BBC on 5 October 1969. Forty-five episodes were made over four series...
reference, specifically to the gag about the airspeed of unladen swallows in Monty Python and the Holy Grail
Monty Python and the Holy Grail
Monty Python and the Holy Grail is a 1974 British comedy film written and performed by the comedy group Monty Python , and directed by Gilliam and Jones...
.
Project activity
In July 2010, some observers speculated on whether the project was dead or dying, since the 2009 Q4 milestone had not yet been released. The traffic on Unladen mailing list had decreased from 500 messages in January 2010, to fewer than 10 in September 2010. It has also been reported that Unladen lost Google's funding. In November 2010, one of the primary developers announced that "Jeffrey and I have been pulled on to other projects of higher importance to Google".The 2009 Q4 development branch was created on January 26, 2010 but no advertising was made on the website. Furthermore, regarding the long-term plans and as the project missed the Python 2.7 release, a PEP has been accepted, which proposes a merge of Unladen Swallow into a special py3k-jit branch of Python's official repository. As of July 2010, this work was ongoing. This merging may take some time, since Unladen Swallow was originally based on Python 2.6 with which Python 3 broke compatibility (see Python 3000 for further details).