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