[IronPython] pystone results for 1.0 vs 2.0a1 on variousruntimes

Dino Viehland dinov at exchange.microsoft.com
Thu May 17 21:31:00 CEST 2007


And I was completely wrong :)

The change was to no longer wrap LCG delegates inside a MultiCast delegate removing the overhead of calling through the multicast delegate.  The multicast delegate was just a convenience for tracking the lifetime of the delegate and now the GC does that instead.  I don't know if that'll apply to Mono or not but maybe it gives you some ideas on where to look for own improvements :).

-----Original Message-----
From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Dino Viehland
Sent: Thursday, May 17, 2007 12:11 PM
To: Discussion of IronPython
Subject: Re: [IronPython] pystone results for 1.0 vs 2.0a1 on variousruntimes

My vague recollection is that it involved not shuffling the parameters around on the stack to make the call where as we used to do this before (for not real good reason).  But I could be completely wrong :).  I'll follow up with the person who made the change and get back to you.  The CLR team is moving offices over the next couple of days so it may not be until early next week.

-----Original Message-----
From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Miguel de Icaza
Sent: Thursday, May 17, 2007 11:21 AM
To: Discussion of IronPython
Subject: Re: [IronPython] pystone results for 1.0 vs 2.0a1 on variousruntimes

Hello Dino,

> In the Vista CLR (and this is in the Orcas CLR as well) there's an
> improvement to the performance of dispatching to a delegate closed
> over a parameter.  We tend to be pushing on delegates more and more
> these days for things like the dynamic site infrastructure so this
> shows up there.

Could you explain a bit more what this optimization does?  It might be
interesting to have this implemented in the Mono runtime as well.

Miguel.

>
> -----Original Message-----
> From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Sanghyeon Seo
> Sent: Thursday, May 17, 2007 10:42 AM
> To: Discussion of IronPython
> Subject: [IronPython] pystone results for 1.0 vs 2.0a1 on various runtimes
>
> I believe some of you may be interested in these results.
>
> In the video of DLR talk at MIX07, "the one and only powerpoint slide
> that actually contains content" shows pystone numbers for various
> versions of CPython and IronPython. (Seek to 37:50.)
>
> IronPython 1.0: 90K
> IronPython 2.0a1: 101K
>
> I assume these numbers are on Microsoft .NET included in Windows
> Vista. (Is it Orcas instead? Maybe that's why this differs from WinFX
> result below?)
>
> It shows 12% gain in pystone numbers. (I also note that IronPython 1.0
> and 1.1 are virtually identical in terms of performance.)
>
> However, I can't reproduce this performance gain on Mono. The best of
> 3 results on my laptop gives 32% loss:
>
> IronPython 1.0: 31K
> IronPython 2.0a1: 21K
>
> Confused, I ran pystone on Windows XP PC to verify. Again, the results
> didn't match the slide (21% loss):
>
> IronPython 1.1: 68K
> IronPython 2.0a1: 54K
>
> I messaged M. David Peterson about the issue, and he gave me the
> results on Windows Longhorn. Thanks a lot for this information. This
> is 6% gain, which is much more consistent with the slide:
>
> IronPython 1.1: 109K
> IronPython 2.0a1: 116K
>
> This seems to suggest that although IronPython 2.0 received
> performance improvements compared to IronPython 1.0 and 1.1, these
> improvements are quite dependent on underlying CLR runtime. Can
> someone from IronPython team explain why this is so?
>
> Following is a table summarizing effects of CLR runtime on relative
> performance of IronPython 1.0/1.1 and 2.0.
>
> Mono 1.2.4+: -32%
> Whidbey: -21%
> WinFX: +6%
> MIX07 (Orcas?): +12%
>
> --
> Seo Sanghyeon
> _______________________________________________
> users mailing list
> users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
> _______________________________________________
> users mailing list
> users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________
users mailing list
users at lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________
users mailing list
users at lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com



More information about the Ironpython-users mailing list