I occasionally hear about performance improvements for Python by various 
projects like psyco (now old), ShedSkin, Cython, PyPy, Nuitka, Numba, and 
probably many others.  The benchmarks are out there, and they do make a 
difference, and sometimes a difference on par with C, from what I've heard.

What I have never quite been able to get is the degree to which one can 
currently use these approaches to speed up a Python application that uses 3rd 
party libraries...and that the approaches will "just work" without the 
developer having to know C or really do a lot of difficult under-the-hood sort 
of work.

For examples, and considering an application written for Python 2.7, say, and 
using a GUI toolkit, and a handful of 3rd party libraries:

- Can you realistically package up the PyPy interpreter and have the app run 
faster with PyPy?  And can the application be released as a single file 
executable if you use PyPy?

- Can you compile it with Nuitka to C?

I've had the (perhaps overly pessimistic) sense that you still *can't* do these 
things, because these projects only work on pure Python, or if they do work 
with other libraries, it's always described with major caveats that "I wouldn't 
try this in production" or "this is just a test" sort of thing, such as PyPy 
and wxPython.

I'd love to know what's possible, since getting some even modest performance 
gains would probably make apps feels snappier in some cases, and yet I am not 
up for the job of the traditional advice about "re-writing those parts in C".


Reply via email to