[Python-Dev] Optimization targets (original) (raw)

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