[IronPython] Speed test

Dino Viehland dinov at exchange.microsoft.com
Fri Apr 21 04:16:37 CEST 2006


The speed improvements you're seeing here are likely the usage of our Reflect Optimizer for all C# methods now.  This gives a huge speed improvement in the time it takes to call arbitrary C# code (previously we only optimized methods in IronPython, as the optimizer was not able to handle a large number of method signatures).

But we still have a ways to go...
________________________________________
From: users-bounces at lists.ironpython.com On Behalf Of JoeSox
Sent: Thursday, April 20, 2006 7:13 PM
To: Discussion of IronPython
Subject: Re: [IronPython] Speed test

ok, retested using beta6:

C# previously referenced in this thread button4_Click() test: {.1875,
.078125, .078125, .062500, .078125}
sum = 0.484375
beats the previous beta5 sum of .608

IronPythonConsole test(file): {.03, .06, .05, .14, .05}*
sum = .33

2nd run (new IronPythonConsole instance)
{.17, .05, .05, .03, .06}
sum = .36

*now this test was done on my laptop (not the same computer I ran this
on earlier today not sure if that matters or not but I won't be able
to run the test until Monday on that machine)


Next, I just completed a run of my InitializeDB() method and it
finished with a faster time of
00:03:08.9062500

Faster, then beta5's finish time of
00:04:40.4845

about a second and a half improvement but Python still clocks in at
52.907753 seconds.  However, I need to perfom this same test(loading
the three predicate files and creating the dictionaries) in
IronPythonConsole.

Keep up the good work!
--
Joseph

On 4/20/06, JoeSox <joesox at gmail.com> wrote:
> I completed one more IronPythonConsole.exe test.  I added the below
> method to CNUDB.py
> ===
>    def test(self,thefile):
>        time1=time.time()
>        self.load_predicates_file(thefile)
>        time2=time.time()
>        print "-- test took",str(round(time2-time1,2)),'seconds. --\n'
> ===
>
> The results were a little better but I haven't thought about what all
> this means as far as how to design my ConceptNet 2.1 Class Library.
> But are are the results (from a Pentium4 3ghz 512RAM) for anyone who
> is following this thread:
> =====
> IronPython 1.0.2280 (Beta) 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.37 seconds. --
>
> >>> cn.test('E:\\machine_All.txt')
>
> -- test took 0.08 seconds. --
>
> >>> cn.test('E:\\machine_All.txt')
>
> -- test took 0.06 seconds. --
>
> >>> cn.test('E:\\machine_All.txt')
>
> -- test took 0.06 seconds. --
>
> >>> cn.test('E:\\machine_All.txt')
>
> -- test took 0.06 seconds. --
>
> >>>
> =====
> sum = .63
>
> Almost the same .64 result as my first IronPythonConsole test.  So I
> am still trying to get close to IDLE 1.1.2's  0.17 seconds result.
> --
> Joseph
>
> On 4/20/06, JoeSox <joesox at gmail.com> wrote:
> > > 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
_______________________________________________
users mailing list
users at lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com



More information about the Ironpython-users mailing list