[IronPython] Multidimensional array performance on IP Beta 9
Dino Viehland
dinov at exchange.microsoft.com
Thu Jul 13 23:02:16 CEST 2006
Definitely not expected, I've opened CodePlex bug 930 to track it (http://www.codeplex.com/WorkItem/View.aspx?ProjectName=IronPython&WorkItemId=930). Thanks for reporting this.
From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Milman, Seth
Sent: Thursday, July 13, 2006 1:31 PM
To: Discussion of IronPython
Subject: [IronPython] Multidimensional array performance on IP Beta 9
I've noticed a rather large degradation in speed when accessing elements in multidimensional arrays in the new beta 9. Is this performance expected?
I've pasted a script below that demonstrates the issue.
Beta 8 output from the script:
1 dimensional copy: 0.4303053 seconds
2 dimensional copy: 1.1508165 seconds
Beta 9 output from the script:
1 dimensional copy: 0.4603266 seconds
2 dimensional copy: 7.5953889 seconds
Beta 9 takes 6.6 times longer to access all the elements in the 2d array.
Is this change expected?
-Seth
# ###############################################
import System
from System import *
arraySize = 50000
a1 = Array.CreateInstance( Double, arraySize )
a2 = Array.CreateInstance( Double, arraySize )
a3 = Array.CreateInstance( Double, 2, arraySize )
ticks1 = DateTime.Now.Ticks
for j in range(2):
for i in range(len(a1)):
a2[i] = a1[i]
ticks2 = DateTime.Now.Ticks
for j in range(2):
for i in range(len(a1)):
a3[j,i] = a1[i]
ticks3 = DateTime.Now.Ticks
time1 = TimeSpan( ticks2 - ticks1 )
time2 = TimeSpan( ticks3 - ticks2 )
print
print '1 dimensional copy: ' + str(time1.TotalSeconds) + ' seconds'
print '2 dimensional copy: ' + str(time2.TotalSeconds) + ' seconds'
print
# ###############################################################
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20060713/ca711d21/attachment.html>
More information about the Ironpython-users
mailing list