Skip to content

Commit b644bb9

Browse files
committed
Impact of storing results of a computation
1 parent 3daea6d commit b644bb9

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

impact_of_storing_results.py

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
2+
import numpy as np
3+
import timeit
4+
5+
6+
# Python float is 64 bit / 8 byte
7+
array_size = 1000 * 1000 * 10
8+
print("Size of data array: {} MB".format(array_size * 8 / (1000 * 1000)))
9+
10+
N = 10
11+
12+
SETUP = """
13+
array1 = np.ones(array_size)
14+
array2 = np.ones(array_size)
15+
buffer_array = np.empty(array_size)
16+
"""
17+
18+
19+
print("### Storing")
20+
index_map = np.arange(0, array_size)
21+
def storing(array1, array2):
22+
buffer_array = array1[index_map] + array2[index_map]
23+
# return buffer_array
24+
25+
total_time = timeit.timeit(
26+
"storing(array1, array2)",
27+
number=10,
28+
setup=SETUP,
29+
globals=globals()
30+
)
31+
print(total_time / N)
32+
33+
34+
print("### Not storing")
35+
index_map = np.arange(0, array_size)
36+
def not_storing(array1, array2):
37+
array1[index_map] + array2[index_map]
38+
39+
total_time = timeit.timeit(
40+
"not_storing(array1, array2)",
41+
number=10,
42+
setup=SETUP,
43+
globals=globals()
44+
)
45+
print(total_time / N)

0 commit comments

Comments
 (0)