import numpy as np
from timeit import Timer
size_of_vec = 1000
X_list, Y_list = range(size_of_vec), range(size_of_vec)
X, Y = np.arange(size_of_vec), np.arange(size_of_vec)
def pure_python_version():
Z = [X_list[i] + Y_list[i] for i in range(len(X_list)) ]
return Z
def numpy_version():
Z = X + Y
return Z
timer_obj1 = Timer("pure_python_version()",
"from __main__ import pure_python_version")
timer_obj2 = Timer("numpy_version()",
"from __main__ import numpy_version")
t1 = timer_obj1.timeit(100)
t2 = timer_obj2.timeit(100)
print(t1 / t2)
237.09009403498308