[IronPython] Optimized methods and serious performance issues

Jonathan Jacobs korpse-ironpython at kaydash.za.net
Thu May 25 18:59:26 CEST 2006


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



More information about the Ironpython-users mailing list