[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