On 4/19/06, Dino Viehland <[EMAIL PROTECTED]> 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?

Yes.

> 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.

--
Joseph
_______________________________________________
users mailing list
users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to