topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Thursday April 18, 2024, 6:35 pm
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: Python performance boosting project launched by Google  (Read 7922 times)

40hz

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 11,858
    • View Profile
    • Donate to Member
Python performance boosting project launched by Google
« on: March 26, 2009, 08:29 PM »
As a person who is becoming increasingly reluctant to learn additional programming languages; I'm very interested in any development being done to enhance the applicability, performance and versatility of those languages I do know.

This bit of news about Python was recently put up on ars technica. As a long-time user and fan of Python, I was quite happy to see this new initiative from Google.

Link: http://arstechnica.c...erformance-by-5x.ars


Google searches for holy grail of Python performance

Google's Python engineers have launched a new project called Unladen Swallow, which aims to bring a major performance boost to the Python programming language by making runtime speed five times faster. The project is being implemented as a branch of the conventional CPython runtime and will be fully source-compatible with regular Python applications and native extensions. This will make it possible to eventually merge the improvements into Python trunk.

The goal of the Unladen Swallow project is to use LLVM, the Low Level Virtual Machine compiler infrastructure, to build a just-in-time (JIT) compilation engine that can replace Python's own specialized virtual machine. This approach offers a number of significant advantages. As the developers describe in the project plan, the project will make it possible to transition Python to a register-based virtual machine and will pave the way for future optimizations.

What makes this very exciting (from a programming and career viewpoint) is this bit (emphasis added):

The Unladen Swallow developers hope that the project will eventually make it possible to use Python instead of C for a wider range of performance-sensitive tasks. They are building it on top of Python 2.6 (2.x is not dead yet) because it will allow many existing projects to adopt it and will also provide a clean glide path to Python 3.

 8)



f0dder

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 9,153
  • [Well, THAT escalated quickly!]
    • View Profile
    • f0dder's place
    • Read more about this member.
    • Donate to Member
Re: Python performance boosting project launched by Google
« Reply #1 on: March 26, 2009, 11:36 PM »
LLVM and JIT'ing? That's pretty interesting :)

Very bad name though, allows for some pretty sleazy puns.
- carpe noctem

mnemonic

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 177
    • View Profile
    • My website
    • Donate to Member
Re: Python performance boosting project launched by Google
« Reply #2 on: March 27, 2009, 03:09 AM »
That sounds interesting, but isn't one of Python's biggest problems that it doesn't come as part of the standard Windows build (definitely does in most Linux distros, not sure about Mac)?  With a performance boost and this pre-installation, Python could have an extremely exciting future.

f0dder

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 9,153
  • [Well, THAT escalated quickly!]
    • View Profile
    • f0dder's place
    • Read more about this member.
    • Donate to Member
Re: Python performance boosting project launched by Google
« Reply #3 on: March 27, 2009, 03:17 AM »
That sounds interesting, but isn't one of Python's biggest problems that it doesn't come as part of the standard Windows build (definitely does in most Linux distros, not sure about Mac)?  With a performance boost and this pre-installation, Python could have an extremely exciting future.
I can't see Microsoft including Python as standard with Windows... and it wouldn't really be fair to other programming languages, either. Why's it necessary, anyway? It's easy enough to download python, and I guess it should be possible to bundle it for non-tech users :)
- carpe noctem

mnemonic

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 177
    • View Profile
    • My website
    • Donate to Member
Re: Python performance boosting project launched by Google
« Reply #4 on: March 27, 2009, 03:29 AM »
I agree with you on the whole "competition grounds", but I've always found Python to be a bit of a pain to install, especially as each new point-release installs itself in it's own top-level directory.  I've had to reinstall everything on more than one occasion when environmental variables have got screwed up.

Then there's the whole issue with having to download libraries (e.g. wxPython for GUIs) and making sure you have the right version and it doesn't install itself in the incorrect high-level python directory.

As much as I  :-* Python, I guess that's the real problem with interpreted language take-up, rather than just the performance.

I guess that Google's purpose here is for building web-applications, just like the way they've built their own custom Javascript engine for Chrome?

Lashiec

  • Member
  • Joined in 2006
  • **
  • Posts: 2,374
    • View Profile
    • Donate to Member
Re: Python performance boosting project launched by Google
« Reply #5 on: March 28, 2009, 03:24 PM »
I guess that Google's purpose here is for building web-applications, just like the way they've built their own custom Javascript engine for Chrome?

That, or merely Google employees doing something useful for their 20% of time for personal projects. IIRC Guido van Rossum works at Google, so there are plenty of reasons for doing it.

TheQwerty

  • Supporting Member
  • Joined in 2007
  • **
  • default avatar
  • Posts: 84
    • View Profile
    • Donate to Member
Re: Python performance boosting project launched by Google
« Reply #6 on: March 30, 2009, 06:46 AM »
I think this was expected or at least they've been planning it for a while.  Google hired Guido, they chose Python for App Engine, and from what I've heard a lot of their employees are using Python for everyday tasks.  They've taken a liking to Python and have the resources to make it better meet their needs.

Also, it turns out Microsoft was at one time shipping a Python interpreter and some code as part of their Merchant Server.

40hz

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 11,858
    • View Profile
    • Donate to Member
Re: Python performance boosting project launched by Google
« Reply #7 on: April 01, 2009, 11:45 PM »
I've always found Python to be a bit of a pain to install, especially as each new point-release installs itself in it's own top-level directory.  I've had to reinstall everything on more than one occasion when environmental variables have got screwed up.

Then there's the whole issue with having to download libraries (e.g. wxPython for GUIs) and making sure you have the right version and it doesn't install itself in the incorrect high-level python directory.


There's a guy by the name of Perica Zivkovic over at www.portablepython.com who has felt your pain. He's cooked up portable Python development packages for three different versions (2.5.4, 2.6.1 and 3.0.1) of Python.

 
Portable Python is distributed as an installation package file which contains complete latest Python® distribution for Windows together with a few help tools/IDE’s which will help you to run your python scripts from your portable device. So all you need to do is to download Portable Python installer file for python version you need, install it to your portable device and you are done! Everything is preconfigured so you can start working on your python application right away.


I've only played with it (<2 hours writing some small apps :-\) so I can't really comment on how good Portable Python would be in a production environment. But from my limited experience, it does look promising.

Drop it on a 4GB USB key; add a few additional tools (portable versions of XAMPP, Notepad++, FileHamster, etc.); along with some PDF-format reference books and you'd have a nice little web development lab to take with you anywhere you went.

« Last Edit: April 03, 2009, 12:14 AM by 40hz »