[pypy-dev] How to learn RPython as a general purpose language

Armin Rigo arigo at tunes.org
Mon Feb 4 11:26:47 CET 2008


Hi Richard,

On Fri, Jan 25, 2008 at 11:10:32PM +0000, Richard Emslie wrote:
> (a) the translated rpython code was faster than python
> 
> (b) some parts were pretty much a copy and paste of the original python 
> code and just a few tweaks to make it compile
> 
> (c) some parts were a complete rewrite
> 
> (d) the time taken for (b) and (c) was no less than it would of taken to 
> write the code in say java or c++.
> 
> (e) the end result is still some nice python code that was still 
> readable and easy to modify.
> 
> (f) a lot of niceties of using python go out the window such as no long 
> waits for compiles, nice stack traces, run time introspection, no 
> segmentation faults, etc etc

Thanks for this great summary of RPython :-)

In particular, it's all too easy to overlook (c) at a first glance.  Let
me paraphrase this again: <strong> it's very likely that some parts of a
typical Python programs cannot be simply tweaked until they are RPython!
</strong>

RPython is indeed designed to be some kind of new language in which to
write algorithmic'ish code from scratch.  It was not designed as a way
to incrementally speed up parts of an existing Python program.  The
Python <-> RPython interfaces are there mostly for historical reasons
and being deprecated because they get in the way of other features that
we need more right now.  These interfaces could be cleanly re-developed
if there are people interested in pushing RPython there, but given the
priorities and interests of the small group of people currently working
on it, it doesn't look like it is going to happen soon.


A bientot,

Armin



More information about the Pypy-dev mailing list