Unladen Swallow
   HOME

TheInfoList



OR:

Unladen Swallow was an optimization branch of CPython, the
reference implementation In the software development process, a reference implementation (or, less frequently, sample implementation or model implementation) is a program that implements all requirements from a corresponding specification. The reference implementation ...
of the
Python programming language Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation. Python is dynamically type-checked and garbage-collected. It supports multiple prog ...
, which incorporated a
just-in-time compiler In computing, just-in-time (JIT) compilation (also dynamic translation or run-time compilations) is compiler, compilation (of Source code, computer code) during execution of a program (at run time (program lifecycle phase), run time) rather than b ...
built using
LLVM LLVM, also called LLVM Core, is a target-independent optimizer and code generator. It can be used to develop a Compiler#Front end, frontend for any programming language and a Compiler#Back end, backend for any instruction set architecture. LLVM i ...
into CPython's
virtual machine In computing, a virtual machine (VM) is the virtualization or emulator, emulation of a computer system. Virtual machines are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve ...
. Like many things regarding Python (and the name "Python" itself), "Unladen Swallow" is a
Monty Python Monty Python, also known as the Pythons, were a British comedy troupe formed in 1969 consisting of Graham Chapman, John Cleese, Terry Gilliam, Eric Idle, Terry Jones and Michael Palin. The group came to prominence for the sketch comedy ser ...
reference, specifically to the joke about the airspeed velocity of unladen
swallow The swallows, martins, and saw-wings, or Hirundinidae are a family of passerine songbirds found around the world on all continents, including occasionally in Antarctica. Highly adapted to aerial feeding, they have a distinctive appearance. The ...
s in ''
Monty Python and the Holy Grail ''Monty Python and the Holy Grail'' is a 1975 British comedy film based on the Arthurian legend, written and performed by the Monty Python comedy group (Graham Chapman, John Cleese, Terry Gilliam, Eric Idle, Terry Jones, and Michael Palin) and ...
''. The project's stated goals were to provide full compatibility with CPython specific code while quintupling its performance, and for the project to eventually be merged into CPython. Although it fell short of all its published goals, some Unladen Swallow code was added into the main Python implementation, such as improvements to the cPickle module. Unladen Swallow was sponsored by
Google Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
, and the project owners, Thomas Wouters, Jeffrey Yasskin, and Collin Winter, were Google employees, though most project contributors were not. Unladen Swallow was hosted on
Google Code Google Developers (previously Google Code) , application programming interfaces (APIs), and technical resources. The site contains documentation on using Google developer tools and APIs—including discussion groups and blogs for developers usin ...
. In March 2010, a
Python Enhancement Proposal Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation. Python is dynamically type-checked and garbage-collected. It supports multiple program ...
(PEP) which proposed merging Unladen Swallow into a special py3k-jit branch of Python's official
repository Repository may refer to: Archives and online databases * Content repository, a database with an associated set of data management tools, allowing application-independent access to the content * Disciplinary repository (or subject repository), an ...
was accepted. However, its implementation was made difficult by Unladen being based on Python 2.6, with which
Python 3 The programming language Python (programming language), Python was conceived in the late 1980s, and its implementation was started in December 1989 by Guido van Rossum at Centrum Wiskunde & Informatica, CWI in the Netherlands as a successor ...
broke compatibility, and the PEP was subsequently withdrawn. In July 2010, speculation began on whether the project was dead or dying since the 2009 Q4 milestone had not yet been released, and the traffic on Unladen's mailing list had decreased from 500 messages in January 2010 to fewer than 10 in September 2010. It had also been reported that Unladen had lost Google's funding, and in November 2010, Collin announced that "Jeffrey and I have been pulled on to other projects of higher importance to Google". By early 2011, it was clear that the project was stopped.


Release history

* 2009 Q1 * 2009 Q2 * 2009 Q3: reduce memory use, improve speed A 2009 Q4 development branch was created in January 2010, but was not advertised on the website, and its milestone was unmet.


See also

* History of Python * PyPy, another Python implementation with a JIT compiler


References

{{reflist Python (programming language) implementations Monty Python references