[IronPython] Optimized methods and serious performance issues

Dino Viehland dinov at exchange.microsoft.com
Thu May 25 21:34:49 CEST 2006


Cool, that pretty much narrows it down to where we should be able to figure out what's going on.

I've opened a bug for this in our database - we should have this fixed for the next release.  I'll follow up if the fix is simple that you could update your local copy for.

Given Harry mentioning these were COM objects the problem likely stems from the fact that COM objects are a little special in IronPython.

________________________________________
From: users-bounces at lists.ironpython.com On Behalf Of Jonathan Jacobs
Sent: Thursday, May 25, 2006 9:59 AM
To: Discussion of IronPython
Subject: Re: [IronPython] Optimized methods and serious performance issues

Dino Viehland wrote:
> If I had to take a guess it would be that we are constantly re-optimizing
> the method (failing to successfully cache it) - which would be a
> significant performance loss.
>
> Any chance we could get you to run a debug build w/ the -X:TrackPerformance
> and -D command line options?
>
> You should then see in the output "DrawSubset #" where # should be small
> (e.g. 1 or 2) - if it's large then we know the issue, we just need to get a
> simple repro of it.
>
> Do you know if the direct X classes come to you via a interop assembly?  Or
> if they're COM objects?  Maybe we have a strange interaction there that is
> preventing the back patching for one of those.

Output with self.mesh.DrawSubset:
FieldTable DrawSubset 1664
BackwardsFieldTableLookup DrawSubset 2
DrawSubset 1660

Output with Direct3D.Mesh.DrawSubset (as mentioned in my reply to J. Merrill):
FieldTable DrawSubset 5
BackwardsFieldTableLookup DrawSubset 2
DrawSubset 1

So it looks like your guess was right on the money.

I wouldn't know if they're interop or COM. How would I find out?

--
Jonathan

When you meet a master swordsman,
show him your sword.
When you meet a man who is not a poet,
do not show him your poem.
                 -- Rinzai, ninth century Zen master
_______________________________________________
users mailing list
users at lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: winmail.dat
Type: application/ms-tnef
Size: 5073 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20060525/e0157760/attachment.bin>


More information about the Ironpython-users mailing list