The Coding Weasel

Tuesday, December 12, 2006

some more on IronPython

Michael Foord has some notes on getting IronKant working with IronPython on Windows here

During my talk, I showed a slide that IronPython on .Net runs pybench at 41% of CPython 2.5's speed (71%, if you exclude the TryRaiseExcept case, where it totally loses), while Mono 1.1.17 gets around 14% of of CPython 2.5's speed. I finally got around to trying Mono 1.2.2 (I didn't have time before the talk). It's actually about 12% _slower_ than 1.1.17. This makes me sad. Very sad. I need to get pybench checked into IPCE and point the Mono and .Net folks at it.

It's pretty obvious that both .Net and Mono optimised for pystone - in both cases, IronPython is more than 20% faster than CPython. Unfortunately, pystones is a terrible benchmark. If they can optimise for pybench, most people's applications will see a real improvement.

Labels: , ,

2 Comments:

Blogger Richard Jones said...

I don't believe there was any need to optimise for pystones. Given that there's no use of any Python language features in that benchmark, it's just testing the raw, low-level speed of the CLR (which at the base level is bytecodes turned into assembler). And that's fast. Optimising for Python language features is going to be hard. Quite possibly the "sucky" part of "dynamic languages suck on the CLR"...

8:42 AM  
Blogger anthony said...

Nah - they clearly did this. The string routines are so very much slower than int or float.

I'm pretty sure I remember Jim saying in a talk he'd done this, as well as parrotbench.

5:37 PM  

Post a Comment

<< Home