first release of PyPy

Shane Hathaway shane at hathawaymix.org
Sat May 21 04:19:08 EDT 2005


Torsten Bronger wrote:
> Hallöchen!
> 
> "Kay Schluehr" <kay.schluehr at gmx.net> writes:
> 
> 
>>[...]
>>
>>[...] Once You get enough speed out of the PyPy-runtime and the
>>community shifts to it the PEP-process degenerates in the view of
>>a PyPythonista to discussions about aspects of the std-objectspace
>>and language design patterns. There will be some CPython
>>compliance - that's all.
> 
> 
> Please could somebody explain to us non-CS people why PyPy could
> have speed features CPython can't have?

The idea is to shift more of the responsibility to optimize code from
the human to the computer.  Since C code is at a low level, the computer
can only infer low level intent and thus perform low level
optimizations.  Humans optimize C by making thousands of speed-oriented
decisions directly in the code.  Python code is at a much higher level,
which should enable the computer to discover more of the programmer's
intent and perform deep optimizations.

In the end, the computer's automated optimization could turn out better
than a human's manual optimization.  Thus, by expressing the Python
interpreter in a high level manner, PyPy is a first step toward deep
optimizations that aren't possible to automate in C.

Even if things don't turn out that way, note that each generation of
programming languages builds on its predecessors, and PyPy could help
bootstrap the next generation.  Assemblers first had to be written in
machine code; when it was possible to write assemblers in assembly,
people started writing complex grammars and came up with C.  C compilers
first had to be written in assembly; when it was possible to write C
compilers in C, people started inventing high level languages.  Now
people are experimenting with high level compilers written in high level
languages.  Where will this pattern lead?  Who knows. :-)

Shane



More information about the Python-list mailing list