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
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
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".