ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

Other Software > Developer's Corner

Python performance boosting project launched by Google

(1/2) > >>

40hz:
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.com/open-source/news/2009/03/google-launches-project-to-boost-python-performance-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.
--- End quote ---

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.
--- End quote ---

 8)


f0dder:
LLVM and JIT'ing? That's pretty interesting :)

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

mnemonic:
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:
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.-mnemonic (March 27, 2009, 03:09 AM)
--- End quote ---
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 :)

mnemonic:
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?

Navigation

[0] Message Index

[#] Next page

Go to full version