[IronPython] SimPy on IronPython timing test

Dino Viehland dinov at exchange.microsoft.com
Tue Feb 14 18:00:43 CET 2006


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?JobID=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



More information about the Ironpython-users mailing list