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

Dino Viehland dinov at exchange.microsoft.com
Tue Aug 1 18:51:02 CEST 2006


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
>
>



More information about the Ironpython-users mailing list