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
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com