@@ -54,6 +54,19 @@ def SETUP():
54
54
print ("{:45}{:<15.6f}{:<15.6f}" .format ("Contiguous access, vectorization" , elapsed_time , average ))
55
55
56
56
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
+
57
70
array1 , array2 , buffer_array = SETUP ()
58
71
elapsed_time = 0.0
59
72
for _ in range (N ):
@@ -64,7 +77,7 @@ def SETUP():
64
77
end = time .time ()
65
78
elapsed_time += end - start
66
79
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 ))
68
81
69
82
70
83
array1 , array2 , buffer_array = SETUP ()
@@ -78,3 +91,73 @@ def SETUP():
78
91
elapsed_time += end - start
79
92
average = elapsed_time / N
80
93
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