[IronPython] [Simpy-users] RE: SimPy on IronPython timing test

Klaus Muller kgmuller at xs4all.nl
Mon Aug 21 12:46:58 CEST 2006


Stan,
I am convinced of that! The overall speed difference between SimPy in IP and
SimPy in CPython is much larger than the published IP-vs-CPython benchmarks
suggest. I sincerely hope that in a next round of IP tuning, the
implementation of "yield" is reviewed and optimized for speed. It is an
important construct.

Klaus

 

> -----Original Message-----
> From: Stanislas Pinte [mailto:stan at ertmssolutions.com] 
> Sent: Monday, August 21, 2006 9:51 AM
> To: Discussion of IronPython
> Cc: Klaus Muller; simpy-users at lists.sourceforge.net; 
> 'Simpy-Developer List'
> Subject: Re: [IronPython] [Simpy-users] RE: SimPy on 
> IronPython timing test
> 
> 
> Dino, Klaus,
> 
> just a small question: Could it be the coroutines (yield 
> statement) implementation in C# that would slow down the 
> simpy simulation?
> 
> Thanks,
> 
> Stan.
> 
> Dino Viehland a écrit :
> > Klaus,
> > 
> >         You're correct in that we didn't do a whole lot of 
> performance tuning from the betas to RC.  Jim did a little 
> bit of work based upon some small repros that were easy to 
> pick apart.  For the most part though everyone else was 
> focused on fixing various incompatabilities.  Now that we're 
> at 1.0 RC we'll only be fixing major bugs that are blocking issues.
> > 
> >         Hopefully in the future we'll have an opportunity 
> to drill into this.  Also if you see any hot spots that can 
> be isolated into simple repros then it'd be much easier for 
> us to look at those issues rather than all of SimPy.
> > 
> >         Thanks for see keeping the numbers coming - it's 
> good to see we've improved a small amount, hopefully we can 
> improve a lot more in the future.
> > 
> > -----Original Message-----
> > From: Klaus Muller [mailto:kgmuller at xs4all.nl]
> > Sent: Friday, July 28, 2006 4:14 AM
> > To: Dino Viehland; 'Discussion of IronPython'; 
> simpy-users at lists.sourceforge.net; 'Simpy-Developer List'
> > Subject: FW: [Simpy-users] RE: [IronPython] SimPy on 
> IronPython timing 
> > test
> > 
> > Dino,
> > I was happy to see the announcement of the IronPython 1.0 
> Release Candidate.
> > I downloaded and ran the same test as indicated in my message of 
> > February 14, i.e.
> > 
> > from SimPy.Simulation import *
> > import time
> > 
> > class Dum(Process):
> >     def run(self):
> >         yield hold,self,3
> > initialize()
> > nrProcs=int(raw_input("Nr of processes?"))
> > processes=[Dum("Dum%s"%x) for x in range(1,nrProcs)]
> > 
> > for i in range(nrProcs):
> >     p=Dum("%s"%i)
> >     activate(p,p.run(),at=i)
> > 
> > tStart=(time.clock(),time.time())
> > simulate(until=2*nrProcs)
> > print "Ran in %s seconds for %s
> > processes"%((time.clock()-tStart[0],time.time()-tStart[1]),nrProcs)
> > raw_input("Hit any key . . .")
> > 
> > Here are the results:
> > 
> > Nr processes=10000
> > ------------------
> > IronPython RC: 1.82 seconds (Beta 2: 2.06 seconds) Cpython 
> 2.3: 0.47 
> > seconds
> > 
> > Nr processes=50000
> > ------------------
> > IronPython rc: 14.19 seconds (Beta 2: 15.53 seconds) 
> Cpython 2.3: 3.67 
> > seconds
> > 
> > So, the RC's runtime performance is slightly better than 
> that of Beta 
> > 2, but there is still a significant speed advantage for CPython.
> > 
> > I have the impression that not much has been done on IronPython 
> > performance tuning.
> > 
> > Best regards,
> > 
> > Klaus Müller
> > 
> > -----Original Message-----
> > From: simpy-users-admin at lists.sourceforge.net
> > [mailto:simpy-users-admin at lists.sourceforge.net] On Behalf Of Klaus 
> > Muller
> > Sent: Wednesday, February 15, 2006 3:30 PM
> > To: 'Dino Viehland'; 'Discussion of IronPython'; 
> > simpy-users at lists.sourceforge.net; 'Simpy-Developer List'
> > Subject: RE: [Simpy-users] RE: [IronPython] SimPy on 
> IronPython timing 
> > test
> > 
> > Dino,
> > Fully understood! IronPython looks good for such an early version!
> > 
> > I am looking forward to future releases of IronPython for 
> performance, 
> > but continue trying the beta out with SimPy in the meantime.
> > 
> > Klaus Müller
> > 
> >> -----Original Message-----
> >> From: simpy-users-admin at lists.sourceforge.net
> >> [mailto:simpy-users-admin at lists.sourceforge.net] On Behalf Of Dino 
> >> Viehland
> >> Sent: Tuesday, February 14, 2006 6:01 PM
> >> To: Discussion of IronPython;
> >> simpy-users at lists.sourceforge.net; 'Simpy-Developer List'
> >> Subject: [Simpy-users] RE: [IronPython] SimPy on IronPython timing 
> >> test
> >>
> >> Thanks for the report Klaus.  Currently we're mostly focused on 
> >> correctness but later in the beta cycle we're going to 
> come back and 
> >> target perf pretty heavily.  I've gone ahead and filed this in our 
> >> bug database so we won't miss it when we get to that point.
> >>
> >>
> >> Do you want to help develop Dynamic languages on CLR?
> >> (http://members.microsoft.com/careers/search/details.aspx?JobI
> >> D=6D4754DE-11F0-45DF-8B78-DC1B43134038)
> >> -----Original Message-----
> >> From: users-bounces at lists.ironpython.com
> >> [mailto:users-bounces at lists.ironpython.com] On Behalf Of 
> Klaus Muller
> >> Sent: Wednesday, February 01, 2006 10:57 PM
> >> To: simpy-users at lists.sourceforge.net; 'Simpy-Developer List'
> >> Cc: users at lists.ironpython.com
> >> Subject: [IronPython] SimPy on IronPython timing test
> >>
> >> All:
> >> I have run a first simple benchmark to compare SimPy under 
> IronPython 
> >> with SimPy under CPython. I ran the following program:
> >>
> >> from SimPy.Simulation import *
> >> import time
> >>
> >> class Dum(Process):
> >>     def run(self):
> >>         yield hold,self,3
> >> initialize()
> >> nrProcs=int(raw_input("Nr of processes?"))
> >> processes=[Dum("Dum%s"%x) for  x in range(1,nrProcs)]
> >>
> >> for i in range(nrProcs):
> >>     p=Dum("%s"%i)
> >>     activate(p,p.run(),at=i)
> >>
> >> tStart=(time.clock(),time.time())
> >> simulate(until=2*nrProcs)
> >> print "Ran in %s seconds for %s
> >> processes"%((time.clock()-tStart[0],time.time()-tStart[1]),nrProcs)
> >> raw_input("Hit any key . .  .")
> >>
> >> Here are the results:
> >>
> >> Nr processes=10000
> >> ------------------
> >> IronPython: 2.06 seconds
> >> CPython: 0.5 seconds
> >>
> >> Nr processes=50000
> >> ------------------
> >> IronPython: 15.53 seconds
> >> CPython: 3.67 seconds
> >>
> >> At this moment, IronPython is clearly way slower than 
> CPython on this 
> >> benchmark.
> >>
> >> Clearly, it is early days for IronPython (this was run under beta 
> >> release 2) and its developers will surely still optimize its 
> >> performance a lot.
> >>
> >> If Microsoft actually support IronPython, this will be an 
> important 
> >> SimPy platform in the future and we will have to watch its further 
> >> development.
> >>
> >> Klaus Müller
> >>
> >>
> >> -------------------------------------------------------
> >> This SF.net email is sponsored by: Splunk Inc. Do you grep through 
> >> log files for problems?  Stop!  Download the new AJAX 
> search engine 
> >> that makes searching your log files as easy as surfing the  web.  
> >> DOWNLOAD SPLUNK!
> >> http://sel.as-us.falkag.net/sel?cmd___________________________
> >> ____________________
> >> Simpy-users mailing list
> >> Simpy-users at lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/simpy-users
> >>
> >>
> > _______________________________________________
> > users mailing list
> > users at lists.ironpython.com
> > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
> > 
> > 
> 
> 
> --
> -----------------------------------------------------------------
>    Stanislas Pinte             e-mail: stan at ertmssolutions.com
>    ERTMS Solutions               http://www.ertmssolutions.com
>    Rue de l'Autonomie, 1             Tel:    + 322 - 522.06.63
>    1070        Bruxelles              Fax:   + 322 - 522.09.30
> -----------------------------------------------------------------
>    Skype (http://www.skype.com) id:                  stanpinte
> -----------------------------------------------------------------
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3936 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20060821/1e99ba16/attachment.bin>


More information about the Ironpython-users mailing list