Please enlighten me about PyPy

Carl Friedrich Bolz cfbolz at gmx.de
Thu Dec 22 15:39:33 EST 2005


Hi!

Scott David Daniels wrote:
> Luis M. González wrote:
> 
> 
>>At this moment, the traslated python-in-python version is, or intends
>>to be, something more or less equivalent to Cpython in terms of
>>performance.
> 
> Actually, I think here it is more or less equivalent in behavior.

Yes, apart from some minor differences (obscure one: in CPython you 
cannot subclass str or tuple while adding slots, for no good reason, 
while you can do that in PyPy).

[snip]
> 
> While the psyco-like tricks for specialization should definitely improve
> the interpreter, there is a second trick (watch for exploding heads
> here).  The big trick is that you can specialize the interpreter for 
> running _its_ input (a Python program), thus giving you a new
> interpreter that only runs your Python program -- a very specialized
> interpreter indeed.

Indeed! And this specialized interpreter can with some right be called a 
compiled version of the user-program! That means that an interpreter 
together with a specializer is a compiler.

Now it is possible to take that fun game even one step further: You 
specialize the _specializer_ for running its input (which is the 
interpreter), thus giving you a new specializer which can specialize 
only the interpreter for a later given user program -- a very 
specialized specializer indeed. This can then be called a just-in-time 
compiler. (Note that this is not quite how JIT of PyPy will look like :-)

recursively-yours,

Carl Friedrich Bolz




More information about the Python-list mailing list