How to Find Execution Time of a Function?
Python - Find execution time of a function
To compute the execution time of a function in Python, we can use timeit library.
timeit.timeit() computes the execution time of a given statement for specified number of times.
For example, the following expression computes how much time the sum(range(100))
statement took to execute for 5000
times.
timeit.timeit('sum(range(100)', number=5000)
Since sum() is a builtin function, we have not passed any argument for the setup parameter to timeit() function. But, if we have a custom function, or code, we have to pass all of the code we need to test as a string argument to the setup parameter.
Example
For example, in the following program, we have taken a function sum_x()
defined and taken in a string variable setup. We will test how much time it takes to execute for 10000
times.
Note: If we do not specify the number of times the statement has to execute, it does for a million times.
Python Program
import timeit
code_setup = '''
def sum_x(x):
sum = 0
for i in range(x):
sum += i
'''
seconds = timeit.timeit('sum_x(5000)', setup = code_setup, number=1000)
print('Time :', seconds)
Output
Time : 0.13776170799974352
So, it took roughly 0.13 seconds to execute the statement sum_x(5000)
for a thousand times.
If you would like to find the time taken for one time execution of given statement, divide the returned seconds by the number argument. That way, we can average the execution time.
This is how you test the performance or time taken by a piece of code, or a function, using timeit.timeit() function.
Summary
In this tutorial of Python Examples, we learned how to compute the execution time of a function, for specified number of times, using requests module.