Opinions on Unladen Swallow?

Question:

What are your opinions and expectations on Google’s Unladen Swallow? From their project plan:

We want to make Python faster, but we
also want to make it easy for large,
well-established applications to
switch to Unladen Swallow.

  1. Produce a version of Python at least 5x faster than CPython.
  2. Python application performance should be stable.
  3. Maintain source-level compatibility with CPython
    applications.
  4. Maintain source-level compatibility with CPython extension
    modules.
  5. We do not want to maintain a Python implementation forever; we view
    our work as a branch, not a fork.

And even sweeter:

In addition, we intend to remove the
GIL and fix the state of
multithreading in Python. We believe
this is possible through the
implementation of a more sophisticated
GC

It almost looks too good to be true, like the best of PyPy and Stackless combined.

More info:

Update: as DNS pointed out, there was related question: What is LLVM and How is replacing Python VM with LLVM increasing speeds 5x?

Asked By: vartec

||

Answers:

I have high hopes for it.

  1. This is being worked on by several people from Google. Seeing as how the BDFL is also employed there, this is a positive.

  2. Off the bat, they state that this is a branch, and not a fork. As such, it’s within the realm of possibility that this will eventually get merged into trunk.

  3. Most importantly, they have a working version. They’re using a version of unladen swallow right now for Youtube stuff.

They seem to have their shit together. They have a relatively detailed plan for a project at this stage, and they have a list of tests they use to gauge performance improvements and regressions.

I’m not holding my breath on GIL removal, but even if they never get around to that, the speed increases alone make it awesome.

Answered By: thedz

I think the project has noble goals and with enough time (2-3 years), they will probably reach most of them.

They may not be able to merge their branch back into the trunk because Guido’s current view is that cpython should be a reference implementation (ie. it shouldn’t do things that are impossible for IronPython and jython to copy.) I’ve seen reports that this is what kept the cool parts of stackless from being merged into cpython.

Answered By: David Locke

They have a quarterly release. So not far away, wait and watch, let them come up with some thing more than just a plan.

If it indeed comes to be true, easy to do away with C and C++ even for performance intensive operations.

Even tho’ it is a Google sponsored Open Source project, surprisingly doesn’t involve Guido anywhere.

Answered By: lprsd

This question discussed many of the same things. My opinion is that it sounds great, but I’m waiting to see what it looks like, and how long it takes to become stable.

I’m particularly concerned with compatibility with existing code and libraries, and how the library-writing community responds to it. Ultimately, aside from personal hobby projects, it’s of zero value to me until it can run all my third-party libraries.

Answered By: DNS

I think that a 5 times speed improvement is not all that important for me personally.

It is not an order of magnitude change. Although if you consume CPU power at the scale of Google it can be a worth while investment to have some of your staff work on it.

Many of the speed improvements will likely make it into cpython eventually.

Getting rid of the GIL is interesting in principle but will likely reveal lots of problems with modules that are not thread safe once the GIL is removed.

I do not think I will use Unladen Swallow any time soon but like how giving attention to performance may improve the regular Python versions.

Answered By: Jeroen Dirks

Guido just posted an article to his twitter account that is an update to the Jesse Noller article posted earlier. http://jessenoller.com/2010/01/06/unladen-swallow-python-3s-best-feature/. Sounds like they are moving ahead as previously mentioned with python 3.

Answered By: Stedy

I’m sorry to disappoint you, but when you read PEP 3146 things look bad.

The improvement is by now minimal and therfore the compiler-code gets more complicated.
Also removing the GIL has many downsides.

Btw. PyPy seems to be faster then Unladen Swallow in some tests.

Answered By: Joschua
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.