Unladen Swallow

Last updated

Unladen Swallow was an optimization branch of CPython, the reference implementation of the Python programming language, which incorporated a just-in-time compiler built using LLVM into CPython's virtual machine. Like many things regarding Python (and the name "Python" itself), "Unladen Swallow" is a Monty Python reference, specifically to the joke about the airspeed velocity of unladen swallows in Monty Python and the Holy Grail . 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. [1] [2] 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. [3] [1]

Contents

Unladen Swallow was sponsored by Google, and the project owners, Thomas Wouters, Jeffrey Yasskin, and Collin Winter, were Google employees, though most project contributors were not. [4] Unladen Swallow was hosted on Google Code. [5]

In March 2010, a Python Enhancement Proposal (PEP) which proposed merging Unladen Swallow into a special py3k-jit branch of Python's official repository was accepted. [1] However, its implementation was made difficult by Unladen being based on Python 2.6, with which Python 3 broke compatibility, and the PEP was subsequently withdrawn. [6]

In July 2010, speculation began on whether the project was dead or dying since the 2009 Q4 milestone had not yet been released, [7] and the traffic on Unladen's mailing list had decreased from 500 messages in January 2010 to fewer than 10 in September 2010. [8] It had also been reported that Unladen had lost Google's funding, [9] and in November 2010, Collin announced that "Jeffrey and I have been pulled on to other projects of higher importance to Google". [10] By early 2011, it was clear that the project was stopped. [6]

Release history

A 2009 Q4 development branch was created in January 2010, [14] but was not advertised on the website, and its milestone was unmet. [15]

See also

References

  1. 1 2 3 Winter, Collin; Yasskin, Jeffrey; Kleckner, Reid (17 March 2010). "PEP 3146 - Merging Unladen Swallow into CPython". Python.org.
  2. Paul, Ryan (26 March 2009). "Ars Technica report on Unladen Swallow goals". Arstechnica.com. Retrieved 19 August 2011.
  3. "Issue 9410: Add Unladen Swallow's optimizations to Python 3's pickle. - Python tracker". bugs.python.org. Retrieved 8 August 2019.
  4. "People working on Unladen Swallow". Archived from the original on 29 October 2015. Retrieved 8 August 2019.
  5. "Unladen Swallow project page" . Retrieved 19 August 2011.
  6. 1 2 Kleckner, Reid (26 March 2011). "Unladen Swallow Retrospective". QINSB is not a Software Blog (qinsb.blogspot.com).
  7. "Message on comp.lang.python" . Retrieved 19 August 2011.
  8. "Unladen Swallow | Google Groups" . Retrieved 19 August 2011.
  9. "reddit post by an Unladen committer". Reddit.com. 24 June 2010. Retrieved 19 August 2011.
  10. Winter, Collin (8 November 2010). "Current status of Unladen-Swallow".
  11. "Unladen Swallow 2009Q1". unladen-swallow, A faster implementation of Python. Retrieved 19 October 2012.
  12. "Unladen Swallow 2009Q2". unladen-swallow, A faster implementation of Python. Retrieved 19 October 2012.
  13. "Unladen Swallow 2009Q3". unladen-swallow, A faster implementation of Python. Retrieved 19 October 2012.
  14. "2009 Q4 release branch creation". 26 January 2010. Retrieved 19 August 2011.
  15. "Message on comp.lang.python" . Retrieved 19 August 2011.