Python provides the module timeit, which can be used to measure execution time. It requires that, first, a time object is constructed. It is constructed from two strings: a string with setup commands and a string with the commands to be executed.
We take the same four alternatives as in the preceding example. The array and function definitions are written now in a string called setup_statements and four timing objects are constructed as follows:
import timeit setup_statements=""" from scipy import zeros from numpy import where A=zeros((1000,1000)) A[57,63]=10. def find_elements_1(A): b = [] n, m = A.shape for i in range(n): for j in range(m): if abs(A[i, j]) > 1.e-10: b.append(A[i, j]) return b def find_elements_2(A): return [a for a in A.reshape((-1,)) if abs(a) > 1.e-10] def find_elements_3(A): return [a for a in A.flatten() if...