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.