[IronPython] IronPython now runs faster on Mono

Sanghyeon Seo sanxiyn at gmail.com
Sun Jun 3 02:56:43 PDT 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:
https://fepy.svn.sourceforge.net/svnroot/fepy/trunk/patches/2.0a1/

Only following patches were applied:
patch-makefile
patch-initialize-builtins
patch-console
patch-flags-argcount

* * *

Thanks to Mono team for a nice work.

Thanks to IronPython team for a hint and encouraging the competition. :-)
http://lists.ironpython.com/pipermail/users-ironpython.com/2007-May/004921.html

* * *

For the curious, here are some details:

Statically dispatch virtual calls to sealed classes or methods.
(Rodrigo Kumpera)
http://lists.ximian.com/pipermail/mono-patches/2007-May/093027.html

mini-trampolines.c: Complete rewrite. On first call, try to create
optimized invoke code and use that for further invocations. (Zoltan
Varga)
http://lists.ximian.com/pipermail/mono-patches/2007-May/093214.html

-- 
Seo Sanghyeon


More information about the users mailing list