[IronPython] IronPython compilation with mono

Jim Hugunin jimhug at microsoft.com
Tue Mar 29 19:18:02 CEST 2005


Paolo Molaro wrote:
> IronPython 0.7 compiles with the current mono from svn

Cool.  It sounds like it would be a nice thing if we shipped a simple
makefile in the top IronPython directory for people who don't have
msbuild available.  Sorry that we missed that suggestion when we went
over these mail archives in preparation for the initial release.

> Jim, any chance the binary can be given a more sane name like
> ironp, ironpy or ipython instead of IronPythonConsole.exe?
> Also it would be nice if the zip would extract in its own versioned
> directory like in 0.6.

I picked IronPythonConsole at the very start of the project knowing that
it would be so bad that I'd have to change it eventually.  As someone
else pointed out, ipython is already in use.  'ironpy' is the most
appealing of your list of options.  Does anyone have a better
suggestion?

Do you have a problem with the .exe at the end of the name or just the
length of IronPythonConsole?

The packaging is a good suggestion as well.  The tools that I use now to
extract zip files will be default put the files in a directory with the
name of the zip file, so the current design works fine on my box.  I
realize that isn't universal.  One dilemma with extracting into a
versioned directory is how often to change the name.  Do you think the
0.7.1 should go into the same directory as 0.7 or not?

> I only did very light testing: pystone runs and it's about 20 %
> faster than cpython 2.4 (and 35% faster than 2.3). It seems
> IronPython 0.7 is 2% faster at it than version 0.6 (always with mono
> from svn, I don't have .net to compare).

I'm glad to hear 0.7 is a little faster than 0.6 for you.  I'd be
curious to see numbers comparing mono 1.0 and 1.1 if you had them.
There are no conscious attempts at performance optimization in 0.7.  To
save you the trouble of installing .NET, here are the numbers I got on
my laptop:

pystones/second (higher is better)
    34K    Python-2.3
    38K    Python-2.4
    58K    IronPython-0.7 on .NET 1.1
    67K    IronPython-0.7 on .NET 2.0beta1

The most interesting thing to me about these numbers is not the absolute
difference, but the relative improvement.  CPython from 2.3 to 2.4 got
about 12% faster on pystone with a lot of Python specific development
work.  In going from .NET 1.1 to 2.0, IronPython got about 16% faster on
the same benchmark with zero Python specific development.  The ability
to take advantage of these kinds of improvements in the underlying
platform is a big part of what excites me about running on the CLI.

My plans for getting to IronPython 1.0 don't include any significant
work on performance optimization.  I think that the performance is
already good enough and the focus needs to be on CPython compatibility
as well as really solid support for all of the CLI features.

> Jim: is it correct that IP 0.7 doesn't run the pie-thon benchmark?
> It seems it looks for
> 	public object Invoke(object self, object arg1, object arg2,
object
> arg3)
> in IronPython/Objects/PythonType.cs, but then there are also other
issues.

This is correct and embarrassing.  I made some stupid changes in moving
to 0.7 and wasn't running the right regression tests.  In my defense,
I've had one or two non-technical issues that were distracting me at the
time.  We'll work on getting pie-thon running again ASAP.

Thanks - Jim



More information about the Ironpython-users mailing list