[IronPython] Speed test

Dino Viehland dinov at exchange.microsoft.com
Thu Apr 20 00:54:43 CEST 2006

I've opened a bug in our internal database to track the issue.  I'm not sure when we'll get to looking at it just yet as it may be somewhat of an involved investigation.  But at least we won't forget about it.

If you could give us something that was nice and self contained then we might be able to get to it sooner.

Do you want to help develop Dynamic languages on CLR? (http://members.microsoft.com/careers/search/details.aspx?JobID=6D4754DE-11F0-45DF-8B78-DC1B43134038)

-----Original Message-----
From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of JoeSox
Sent: Wednesday, April 19, 2006 3:27 PM
To: Discussion of IronPython
Subject: Re: [IronPython] Speed test

On 4/19/06, Dino Viehland <dinov at exchange.microsoft.com> wrote:
> If in initializeDB you comment out:
> ipEngine1.SetVariable("pred_file", predfile);                                    ipEngine1.Execute(@"db.load_predicates_file(pred_file)");
> does it get much faster?

Yes, I received a time of 00:00:00.0156250

> If it doesn't then the problem is squarely an IronPython problem and we'll need to investigate further.
> The more static one has some issues...  The GetObjectArray() call will be really expensive if your edges grow to be very big (it'll copy the array).  Maybe that's what you need to do here though (and it looks like edge just grows unbounded as it never gets cleared).

Yes, in Python there are a couple of variable objects like "fw_edges"
that grow into "<huge dict 0x12ad810>" etc (but to me they resemble
more like IronPython List object).

> You also might be able to get rid of the Ops.GetEnumerator call for the Tuple, not that that should be very expensive though.
> NodesCollection is a StringCollection?


> Also, are you taking your performance measurements at the console, or in an imported py file?

Recently, I have been using an imported py file.  I am about to start
testing using the console.  I have been using a custom Progressbar
Form to notify the user of what was happening but I might try using a
console for the same concept to see if it is any faster.

> In general our performance is much better in imported files than it is at the console.

This is good to know but not always ideal.  I am trying to write a
Class Library to so any app can use it.

users mailing list
users at lists.ironpython.com

More information about the Ironpython-users mailing list