[IronPython] Speed test

Dino Viehland dinov at exchange.microsoft.com
Wed Jun 21 07:48:15 PDT 2006


Very interesting!

There have been a few fixes that have gone in that have caused performance in certain areas to degrade slightly.  The top one that comes to mind is in dealing w/ operator equals we used to check object equality before doing anything else, which unfortunately was wrong.

We'll have another look at performance after we ship 1.0 - as we're finalizing things we're focused primarily on correctness.

-----Original Message-----
From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of JoeSox
Sent: Tuesday, June 20, 2006 9:21 PM
To: Discussion of IronPython
Subject: Re: [IronPython] Speed test

Just for kicks and giggles (not sure if its helpful but it is interesting, at least to me) here is a speed test using beta4 thru beta8, I ran them one after the other and posted the results below.
But a short recap revealed that beta5 and 6 ran the fastest using IronPythonConsole.exe.  I am not really sure why beta7 and 8 finished with slower times.

beta4 sum = .82
beta5 sum = .38
beta6 sum = .38
beta7 sum = .57
beta8 sum = .43

IDLE 1.1.2 sum =  .14
Wing IDE 2.1 sum = .24


>>On 4/19/06, Dino Viehland <dinov at exchange.microsoft.com> wrote:
>>
>>> I've opened a bug in our internal database to track the issue.
I'm not sure when we'll get to looking at it just yet as it may be somewhat of an involved investigation.  But at least we won't forget about it.
>>>
>>> If you could give us something that was nice and self contained
then we might be able to get to it sooner.
>>>
>>
>>
>>Ok great.  I think this will work.  Here are the two files you will need:
>>http://joeswammi.com/projects/CNUDB.py
>>http://joeswammi.com/projects/machine_All.txt

====
IronPython 1.0.2262 (Beta[4]) on .NET 2.0.50727.42 Copyright (c) Microsoft Corporation. All rights reserved.
>>> import sys,time
>>> sys.path.append('E:\\')
>>> import CNUDB
>>> cn=CNUDB.ConceptNetDB()
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.39', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.09', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.09', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.09', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.16', 'seconds. --\n') sum = .82 ==== ===== IronPython 1.0.2280 (Beta[5]) on .NET 2.0.50727.42 Copyright (c) Microsoft Corporation. All rights reserved.
>>> import sys,time
>>> sys.path.append('E:\\')
>>> import CNUDB
>>> cn=CNUDB.ConceptNetDB()
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.17', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.06', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.05', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.05', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.05', 'seconds. --\n') sum = .38 ===== ====== IronPython 1.0.60420 (Beta[6]) on .NET 2.0.50727.42 Copyright (c) Microsoft Corporation. All rights reserved.
>>> import sys,time
>>> sys.path.append('E:\\')
>>> import CNUDB
>>> cn=CNUDB.ConceptNetDB()
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.17', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.05', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.05', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.05', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.06', 'seconds. --\n') sum = .38 ====== ======= IronPython 1.0.60523 (Beta[7]) on .NET 2.0.50727.42 Copyright (c) Microsoft Corporation. All rights reserved.
>>> import sys,time
>>> sys.path.append('E:\\')
>>> import CNUDB
>>> cn=CNUDB.ConceptNetDB()
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.34', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.06', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.06', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.06', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.05', 'seconds. --\n') sum = .57 ======= ======== IronPython 1.0.60619 (Beta[8]) on .NET 2.0.50727.42 Copyright (c) Microsoft Corporation. All rights reserved.
>>> import sys,time
>>> sys.path.append('E:\\')
>>> import CNUDB
>>> cn=CNUDB.ConceptNetDB()
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.25', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.05', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.05', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.03', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.05', 'seconds. --\n') sum = .43 ========

***
IDLE 1.1.2      ==== No Subprocess ====
>>> import sys,time
>>> sys.path.append('E:\\')
>>> import CNUDB
>>> cn=CNUDB.ConceptNetDB()
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.03', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.03', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.03', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.03', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.02', 'seconds. --\n') IDLE 1.1.2 sum =  .14
***
****
Python 2.4.2[Wing IDE 2.1] (#67, Sep 28 2005, 12:41:11) [MSC v.1310 32 bit (Intel)] Type "help", "copyright", "credits" or "license" for more information.
>>> import sys,time
>>> sys.path.append('E:\\')
>>> import CNUDB
>>> cn=CNUDB.ConceptNetDB()
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.05', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.02', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.02', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.06', 'seconds. --\n')
>>> cn.test('E:\\machine_All.txt')

('-- test took', '0.09', 'seconds. --\n') Wing IDE 2.1 sum = .24
****

--
Later, Joe
_______________________________________________
users mailing list
users at lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com


More information about the users mailing list