[IronPython] IronPython now runs faster on Mono

Sanghyeon Seo sanxiyn at gmail.com
Sun Jun 3 11:56:43 CEST 2007

Thanks to optimization works on delegate invocation, IronPython now
runs faster on Mono. Conservatively, you can expect 5% speedup for
1.1, and 10% speedup for 2.0a1.

Look forward to Mono 1.2.5!

* * *

Here are some pystone results. All results are best of 3.

Mono stable = Debian packaged Mono 1.2.4-3
Mono SVN = Default build of Mono SVN revision 78485
Workstation = Intel Pentium 4 CPU 2.66GHz
Laptop = Intel Pentium 4 Mobile CPU 1.70GHz
1.1 = IronPython Community Edition r6
2.0a1 = IronPython 2.0 Alpha 1 with patches (see below)

stable/workstation/1.1: 44134
svn/workstation/1.1: 46736 (+6%)
stable/laptop/1.1: 28624
svn/laptop/1.1: 31187 (+9%)

Mono stable can't run IronPython 2.0a1. I only have results for Mono
as of May 17, from chat logs. That's why numbers are approximate. I
will refer to this version as "may".

may/workstation/2.0a1: "32800"
svn/workstation/2.0a1: 36362 (+11%)
may/laptop/2.0a1: "21K"
svn/laptop/2.0a1: 23354 (+11%)

* * *

patches to 2.0a1 are here:

Only following patches were applied:

* * *

Thanks to Mono team for a nice work.

Thanks to IronPython team for a hint and encouraging the competition. :-)

* * *

For the curious, here are some details:

Statically dispatch virtual calls to sealed classes or methods.
(Rodrigo Kumpera)

mini-trampolines.c: Complete rewrite. On first call, try to create
optimized invoke code and use that for further invocations. (Zoltan

Seo Sanghyeon

More information about the Ironpython-users mailing list