Is python not good enough?

Nobody nobody at nowhere.com
Fri Jan 15 21:31:11 EST 2010


On Fri, 15 Jan 2010 12:34:17 -0800, John Nagle wrote:

>     Actually, no.  It's quite possible to make a Python implementation that
> runs fast.  It's just that CPython, a naive interpreter, is too primitive
> to do it.  I was really hoping that Google would put somebody good at
> compilers in charge of Python and bring it up to production speed.
> 
>     Look at Shed Skin, a hard-code compiler for Python

A hard-code compiler for the subset of Python which can easily be compiled.

Shed Skin has so many restrictions that it isn't really accurate to
describe the language which it supports as "Python".

Hardly any real-world Python code can be compiled with Shed Skin. Some of
it could be changed without too much effort, although most of that is the
kind of code which wouldn't look any different if it was implemented in
C++ or Java.

The monomorphism restriction is likely to be particularly onerous: the
type of a variable must be known at compile time; instances of subclasses
are allowed, but you can only call methods which are defined in the
compile-time class.

If you're writing code which makes extensive use of Python's dynamicity,
making it work with Shed Skin would require as much effort as re-writing
it in e.g. Java, and would largely defeat the point of using Python in the
first place.

http://shedskin.googlecode.com/files/shedskin-tutorial-0.3.html

If you want a language to have comparable performance to C++ or Java, you
have to allow some things to be fixed at compile-time. There's a reason
why C++ and Java support both virtual and non-virtual ("final") methods.




More information about the Python-list mailing list