Improvements to the Python core (was: Is a "real" C-Python possible?)

Christian Heimes lists at cheimes.de
Wed Dec 12 12:58:59 EST 2007


Kay Schluehr wrote:
 > Given that the Python core team has been mostly silent about JIT
> compilation and Armin Rigos work in particular which started 5 years
> ago ( Psyco will not be promoted towards Python 3.0 and there is no
> indication that anyone but Armin would maintain Psyco ) I wonder about
> this sudden insight. But maybe you can tell us more when you work on
> such stuff for CPython yourself? Given your status in the core Python
> team this would have a chance of not being just a loosely coupled
> independent project as almost all the interesting stuff that happens
> around Python these days.

I don't see an indication that anybody but the creator of Psyco does
understand the code base. *g*

Guido has stated his opinion about optimizations more than once. My own
opinion as core developer (which is quite similar to Guido's opinion) is:

We are happy and glad for every improvement regarding speed, memory
usage or features if and only if:

 * The implementation must be clean, well designed, well documented well
written and platform independent / supported on all platforms. Python
runs on machines from mobile phones to large main frames.

 * The improvement must NOT hinder or slow down future development at
all cost. If it's so complicated that it might slow down future
development than it's a no go. It's more important to us to have a clean
and understandable code base than to add hundreds of small improvements
which makes debugging a nightmare.

 * You are willing to support and fix the improvement for X years where
X is between 4 and INF years.

 * The modification must not slow down Python for common uses like a
single threaded, single CPU bound program or small script. This rules
out all existing attempts to remove the GIL from Python since they have
slowed down Python to 50% or less. However Guido said a few months ago
that he would endorse a SMP branch of Python aimed to multi core and
multi threaded apps.

 * The code and all its dependencies must be compatible with Python license.

 * The code must be written following the C89 standards.

By the way core development is open for everybody. Any patch is
appreciated, starting from fixing a typo in the docs over bug reports,
bug fixes to new features.

Read the PEPs! http://www.python.org/dev/peps/
Subscribe to the mailing lists (I suggest gmane.org)!
Get involved!

Christian



More information about the Python-list mailing list