Skip to content

Commit 3daea6d

Browse files
committed
Comparison for iterating over difference indeces
1 parent da20e35 commit 3daea6d

File tree

1 file changed

+84
-1
lines changed

1 file changed

+84
-1
lines changed

array_arithmetic.py

+84-1
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,19 @@ def SETUP():
5454
print("{:45}{:<15.6f}{:<15.6f}".format("Contiguous access, vectorization", elapsed_time, average))
5555

5656

57+
array1, array2, buffer_array = SETUP()
58+
elapsed_time = 0.0
59+
for _ in range(N):
60+
start = time.time()
61+
62+
buffer_array[:] = array1 * array2 + array1 * array2
63+
64+
end = time.time()
65+
elapsed_time += end - start
66+
average = elapsed_time / N
67+
print("{:45}{:<15.6f}{:<15.6f}".format("Pure Numpy arithmetic with [:] onthe LHS", elapsed_time, average))
68+
69+
5770
array1, array2, buffer_array = SETUP()
5871
elapsed_time = 0.0
5972
for _ in range(N):
@@ -64,7 +77,7 @@ def SETUP():
6477
end = time.time()
6578
elapsed_time += end - start
6679
average = elapsed_time / N
67-
print("{:45}{:<15.6f}{:<15.6f}".format("Pure Numpy arithmetic", elapsed_time, average))
80+
print("{:45}{:<15.6f}{:<15.6f}".format("Pure Numpy arithmetic, no colon", elapsed_time, average))
6881

6982

7083
array1, array2, buffer_array = SETUP()
@@ -78,3 +91,73 @@ def SETUP():
7891
elapsed_time += end - start
7992
average = elapsed_time / N
8093
print("{:45}{:<15.6f}{:<15.6f}".format("numexpr", elapsed_time, average))
94+
95+
96+
# Iterating over difference indeces...
97+
98+
print("Iterating over a difference index in a 5D array...")
99+
print(" array[0,1,2,3,4]")
100+
101+
DIM = 40
102+
103+
shape = ( DIM, DIM, DIM, DIM, DIM )
104+
array1 = np.ones(shape)
105+
106+
elapsed_time = 0.0
107+
for _ in range(N):
108+
start = time.time()
109+
110+
for i in range(DIM):
111+
a = array1[:,:,:,:,i] + 1
112+
113+
end = time.time()
114+
elapsed_time += end - start
115+
average = elapsed_time / N
116+
print("{:45}{:<15.6f}{:<15.6f}".format("4", elapsed_time, average))
117+
118+
elapsed_time = 0.0
119+
for _ in range(N):
120+
start = time.time()
121+
122+
for i in range(DIM):
123+
a = array1[:,:,:,i,:] + 1
124+
125+
end = time.time()
126+
elapsed_time += end - start
127+
average = elapsed_time / N
128+
print("{:45}{:<15.6f}{:<15.6f}".format("3", elapsed_time, average))
129+
130+
elapsed_time = 0.0
131+
for _ in range(N):
132+
start = time.time()
133+
for i in range(DIM):
134+
a = array1[:,:,i,:,:] + 1
135+
136+
end = time.time()
137+
elapsed_time += end - start
138+
average = elapsed_time / N
139+
print("{:45}{:<15.6f}{:<15.6f}".format("2", elapsed_time, average))
140+
141+
elapsed_time = 0.0
142+
for _ in range(N):
143+
start = time.time()
144+
145+
for i in range(DIM):
146+
a = array1[:,i,:,:,:] + 1
147+
148+
end = time.time()
149+
elapsed_time += end - start
150+
average = elapsed_time / N
151+
print("{:45}{:<15.6f}{:<15.6f}".format("1", elapsed_time, average))
152+
153+
elapsed_time = 0.0
154+
for _ in range(N):
155+
start = time.time()
156+
157+
for i in range(DIM):
158+
a = array1[i,:,:,:,:] + 1
159+
160+
end = time.time()
161+
elapsed_time += end - start
162+
average = elapsed_time / N
163+
print("{:45}{:<15.6f}{:<15.6f}".format("0", elapsed_time, average))

0 commit comments

Comments
 (0)