[Python-Dev] Optimization targets

Mike Pall mikepy-0404 at mike.de
Thu Apr 15 11:52:30 EDT 2004


Hi,

Jeremy Hylton wrote:
> Another question that I'd love to hear the answer to: What's the
> difference between Pysco and something like this Self implementation or
> the HotSpot Java implementation?  I've never read a clear explanation of
> what Pysco does or how it compares to other systems that do dynamic
> compilation.

Here is a link for Java HotSpot:

http://java.sun.com/products/hotspot/docs/whitepaper/Java_Hotspot_v1.4.1/Java_HSpot_WP_v1.4.1_1002_4.html

It seems that many advantages gained by static typing are lost since the
Java codebase encourages strong polymorphism (in contrast to C++).

What can we learn from this for Python: static typing is probably not
all that helpful for a JIT compiler (in contrast to popular belief).


About the CLR (.NET and C# target) JIT:

http://www.artima.com/intv/choices.html

What I found most interesting: their bytecode is polymorphic because they
never targetted an interpreter and the JIT must do type inference anyway.
Well, Python bytecode doesn't look that bad now ...


I would be very interested to hear what Armin thinks about static vs.
dynamic type inferencing and about semi-static (CLR) vs. hotspot (Java)
compilation.

Bye,
     Mike



More information about the Python-Dev mailing list