The Voidspace Techie Blog

Gravatar How about ShedSkin? http://shed-skin.blogspot.com/

Couple that with type inferencing and you're almost done


Gravatar Sounds really quite similar to RPython . It is statically typed, without having to supply any explicit type information. The types of the variables are found by using type inference. RPython can be compiled to C and the result used as an extension module to CPython (or to PyPy, obviously


Gravatar One thing we have to settle after the NeedForSpeed sprint, would be IronPython. There is a false concept that "ironpython runs the pystone benchmark 1.7 times faster" and consequently .NET is much faster than python bytecode. The mis-conception is that in reallity, IronPython is 1.7 times faster than python **2.3** running pystone which is a horribly unpythonic benchmark.

For a dynamic language, I think that NET's semi-static/semi-dynamic runtime is not the best choice. They do publish some impressive benchmarks where the JIT compiler of NET is "even faster than C!!!", but I seriously doubt if that will be true in real code.


Gravatar Is memory management handled in ShedSkin ?

If RPython is *that* close to what I suggest, then it's worth waiting for. Dynamic compilation would be nice, maximum speedup would be nice, but I doubt I could as good a job as the PyPy guys whatever I attempted.

We have had some *great* speedups using IronPython, particularly executing compiled code objects. Also integrating IronPython applications with compiled C# code is easier than creating C extensions.


Gravatar memory management is done well in ShedSkin.


Gravatar did you say .NET compiler ?

go check out http://rajch.spymac.com/


Gravatar That .NET compiler book looks worth reading through. Thanks!


Gravatar Memory management in shedskin is done using the Boehm conservative garbage collector. This is fine but in theory a highly tuned precise garbage collector should be faster.

RPython can use the Boehm collector (and in fact it is fastest if you choose that option). Additionally you can choose between reference counting (without a cycle detector) and an exact mark-and-sweep collector (which is quite naive still). This custom GC (together with some others, even more experimental ones) are written in Python too.


Name:

Email:

URL:

Comment:  ? 

 

Commenting by HaloScan