Python Measure Execution Time of Function

Running a computer program takes some time to complete. If it is a big task then it can take more time and if it is a small task then it will take less time to complete.

For example, let’s consider our operating system and an application called WhatsApp which is a social media platform for communication. We all know that when we start an operating system then it takes some time to completely boot it up. Because an operating system consists of so many heavy tasks and programs, booting up means getting everything ready to work.

An application takes so much less time than an operating system because the application is not consisting the big tasks like an operating system.

How to Measure Execution Time in Python?

If we have written a program and we want to know the time which it takes to execute, then we can know the exact time duration by using some methods in python language.

We can perform this task by using the time module, which is an inbuilt module in python.

Example 1

from time import time

# We have Created a Function to find sum of First 1000000 Numbers
def first_func () :
    # Initialise the sum with 0
    sum = 0

    # loop through 0 to 1000000 and add previous value of sum to it and get the updated sum
    for i in range ( 1000000 ) :
        sum += i

    # return the sum value
    return sum

if __name__ == '__main__':
    init = time ( )
    ans = first_func ( )
    final = time ( )
    print ( f " Time Taken : { final – init } " )

Output:

PS C : \ Users \ ASUS \ Desktop \ TheCrazyProgrammer Work> python -u " c : \ Users \ ASUS \ Desktop  \ TheCrazyProgrammer Work \ test.py "
Time Taken : 0.05800580978393555

Explanation:

As we can see in the example above, we are going to find sum of first 100000 whole numbers using python.

First, we have imported time function from time module. After that we have written a function to calculate the desired sum. We have initialized sum with 0. After that we have used loop to iterate through 0 to 100000 and update the sum value with I and previous sum value, after the loop ends, we have returned the sum.

Now, coming to main function, we have init variable which holds the value of time at the particular time. After that we have called our function to calculate the sum.

Now we have stored the current time in variable name final.

As we can see that we are executing that function and calculated time before executing the function and after executing the function, then we can find the duration to run this program by subtracting the final value from initial value.

This gives time to execute the function.

Example 2

from time import time

# We have Created a Function to find multiplication of first 100000 natural numbers
def func ( ) :
    # Initialise the mult with 1
    mult = 1

    # loop through 0 to 1000 and multiply the previous value of mult with i and get the updated value
    for i in range ( 100000 ) :
        mult *= i

    # return the mult value
    return mult

if __name__ == '__main__':
    prev = time ( )
    ans = func ( )
    updated = time ( )
    print ( f " Time Taken : { updated – prev } " )

Output:

PS C : \ Users \ ASUS \ Desktop \ TheCrazyProgrammer Work > python -u " c : \ Users \ ASUS \ Desktop \ TheCrazyProgrammer Work \ test.py "
Time Taken : 0.005994319915771484

Conclusion

We can measure the execution time of any program using the time module, which is an inbuilt module in python. We can find the execution time using some basic logical operations as I have shown in the above examples.

Leave a Comment

Your email address will not be published. Required fields are marked *