DEV Community

Discussion on: Tell me some useless (or useful) software trivia

Collapse
 
rhymes profile image
rhymes

In 2009-2010 Google tried to merge a separate version of Python inside the official one but didn't ultimately succeed.

The story around it was interesting for a few reasons:

  • Google at the time was really deep into Python, they were using it for all sorts of things and they employed a few core teams devs, Guido Van Rossum (the creator) included
  • "Unladen swallow" (the code name of this branch), was used internally and promised some performance improvements
  • Among those improvements there was a JIT compiler (Ruby 2.6 for example has merged an experimental JIT compiler, ten years later)

The reason it failed:

  • they thought they could reach 5x speed in single threaded cases but actually they were around 1.x kind of increase
  • The community already had a JIT enabled project, PyPy, which was a separate effort
  • Developers were not excited about it and also assumed that Google would maintain the code for ever and ever (honestly, nobody wants to merge an insanely huge patch that requires a lot of work to adjust in an already successful project)

So, it was a good idea, but it technically didn't work the way they tried it and there was not enough support around it to keep at it for a long time and hopefully improve the performance gains.

I think this story mostly speaks of what it means to mantain a hugely successful open source project and the relationship with contributors, even if they are a big company ;-)

If anyone is interested, the details and the story are here: python.org/dev/peps/pep-3146/