[pypy-dev] a faster Python not a primary goal of PyPy?
Lenard Lindstrom
len-l at telus.net
Mon Sep 26 21:12:05 CEST 2005
On 26 Sep 2005 at 8:56, holger krekel wrote:
>
> I believe the idea with a PyPy/JS Interpreter is more
> interesting, at least from the PyPy perspective. Btw,
> being faster than current JS interpreters is probably
> easier than being faster than CPython :-)
> Such a JS-interpreter implementation could be
> integrated with browsers allowing JS and Python
> directly in the browser.
>
> That being said, it might actually be worthwhile to compile
> RPython to Javascript which should be reasonably fast
> for small programs. One possibility is to just create
> flowgraphs from a python program and then transform the
> flowgraph to javascript source code (without much
> annotation).
>
> I guess only real experiments would shed more light.
>
Hello everyone. Python and prototypes is one area where I have some personal
experience.
How well RPython will translate to Javascript depends on how fully RPython
supports new-style classes. Javascript objects have single inheritance only. So
problems arise immediately for multiple inheritance. An object space is needed to
implement new-style classes on top of Javascript prototypes. All python arithmetic
operations, attribute accesses and method calls become Javascript function calls.
This adds a level of indirection to an already slow interpreter.
Finally Javascript has no 'goto' statement. So a switch statement within a loop is
needed to handle the spaghetti code produced by tranforming a flowgraph. How
much different is this from an interpreter loop?
So a Python program compiled to Javascript is essentially a Python interpreter
that runs in Javascript. How worthwhile is this? Of course if RPython only supports
single inheritance and improvements to flowgraph transformation will recover
Python's statement structure then a closer translation may be possible.
Lenard Lindstrom
<len-l at telus.net>
More information about the Pypy-dev
mailing list