RFC: Viper: yet another python implementation

Neel Krishnaswami neelk at brick.cswv.com
Thu Aug 19 20:40:04 EDT 1999


On Mon, 16 Aug 1999 14:29:06 GMT, Andrew Csillag <andrew at starmedia.net> wrote:
>
>Also, you may want to look at how the SmallEiffel compiler does it's
>type inferencing...  They did it well enough to get rid of virtual
>function tables...  There's a few papers that describe what they did and
>the essence of how it works and the rather amazing perfomance numbers
>(and obviously the souce code is available to give you an implementation
>to look at -- written in Eiffel).
>
>http://SmallEiffel.loria.fr/papers/papers.html

This is well-worth reading, but the Eiffel folks were able to do their
optimizations because Eiffel is so much more static than Python -- for
example, classes can't be dynamically created in Eiffel. This is not
the case in Python, and I get the impression that John Skaller is
trying to use whole-program analysis to get around that a bit.

In that case, the Cecil papers:

    http://www.cs.washington.edu/research/projects/cecil/papers

are the best place to look for ideas. Cecil is a dynamic OO language
that Craig Chambers has been using to work out techniques for wringing
speed out of dynamic languages. The only danger is that it will
inspire John to add predicate methods to Python. :)


Neel




More information about the Python-list mailing list