Python is a high-level language that is general purpose and is simple in nature that emphasizes the readability of code and follows such a syntax that allows programmers to develop software using fewer lines of code.

Some features of Python include:

  • Quickly integrate systems to work with code efficiently.
  • It is multi-purpose, high-level, object-oriented, and procedural in nature.
  • It is simpler and smaller than other programming languages comparatively.

In this article, we will be discussing the Python timeit() function that is used to measure the execution time of our Python code.

Python Training Course

Learn Data Operations in PythonExplore Course
Python Training Course

What Is Python timeit()?

It is an in-built function in Python used to measure the time taken to execute a small bit of Python code.  

Syntax 

timeit.timeit(setup = <value>,

                     stmt = <value>,

                     number = <value>,

timer=<value>)

Parameters

→ setup: code that needs to run before stmt. The default value is ‘pass’.

→ timer: timeit.Timer object. Has a random default value.

→ stmt: Statement that needs to be measured. Default is ‘pass’.

→ number: Number of executions that we want the stmt to run.

Example

Code

# testing the timeit()

import timeit

import_module = "import random"

testingcode = ''' 

def test(): 

    return random.randint(10, 50)

print(timeit.timeit(stmt=testingcode, setup=import_module))

Output

23.546672345623214

Methods in timeit() Using Python

There are different types of methods that can be executed using timeit() in Python. Some of them are explained below:

timeit.default_timer

This method will directly return the time that is the default when it is executed.

Example

import timeit

import random

def test(): 

    return random.randint(10, 50) 

starting_time = timeit.default_timer()

print("Start time :",starting_time)

test()

print("Time difference :", timeit.default_timer() - starting_time)

Output

Start time : 38715.518857217

Time difference : 5.9070996940135956e-05

timeit.repeat(stmt, setup, timer, repeat, number)

It is similar to timeit(), but it executes the same by the number of times the repeat is given.

Example 1

import timeit

import_module = "import random"

testcode = ''' 

def test(): 

    return random.randint(10, 50)

'''

print(timeit.repeat(stmt=testcode, setup=import_module, repeat=8))

Output

[0.08171100300023681, 0.08849931000077049, 0.09055445500052883, 0.08828036399791017, 0.09204522100117174, 0.10821463699903688, 0.09858635899945511, 0.09128028399936738]

Note: The timeit.repeat() function is identical to the timeit.timeit() function in that it accepts the repeat argument and returns the execution time in an array format with values based on the repeat number.

Free Course: Python for Beginners

Master the fundamentals of PythonEnroll Now
Free Course: Python for Beginners

Example 2

import timeit

# binary search function implementation

def binary_search_func(list1, x):

    while len(list1) > 0:

        mid = (len(list1))//2

        if list1[mid] == x:

            return True

        else if list1[mid] < x:

            list1 = list1[:mid]

        else:

            list1 = list1[mid + 1:]

    return False

# linear search function implementation

def linear_search_func(list2, y):

    for x in list2:

        if x == y:

            return True

    return False

# computing the binary search time

def binary_time_compute():

    INITIAL_CODE = '''

from __main__ import binary_search

from random import randint'''

    TESTING_CODE = '''

list3 = [x for x in range(5000)]

z = randint(0, len(list3))

binary_search_func(list3, z)'''    

    # timeit.repeat statement implementation

    times = timeit.repeat(setup = INITIAL_CODE,

                          stmt = TESTING_CODE,

                          repeat = 4,

                          number = 5000)

    # printing the minimum exec. time

    print('Binary search: {}'.format(min(times)))        

# computing linear search time

def linear_time_compute():

    INITIAL_CODE = '''

from __main__ import linear_search

from random import randint'''    

    TESTING_CODE = '''

list4 = [x for x in range(10000)]

w = randint(0, len(list4))

linear_search(list4, w)

    '''

    # timeit.repeat statement implementation

    times = timeit.repeat(setup = INITIAL_CODE,

                          stmt = TESTING_CODE,

                          repeat = 4,

                          number = 5000) 

    # printing the minimum exec. time

    print('Linear search: {}'.format(min(times)))  

if __name__ == "__main__":

    linear_time_compute()

    binary_time_compute()

Output

Linear search time: 6.69415425228

Binary search time: 5.8807977777

Data Science with Python

The Ultimate Ticket To Top Data Science Job RolesExplore Course
Data Science with Python

Why Is timeit() the Best Way to Measure the Execution Time of Python Code?

There are a few reasons why timeit() is the best way to measure the execution time, and some of these are given below:

  • It repeats the code statement 1 million times, which is the default setting, and then returns the shortest time. The parameter number in the time () function can also be used to increase or decrease the 1 million.
  • The garbage collection gets disabled every time the test is run via the time () function.

Internally, timeit() calculates the correct time based on the operating system you're using. For example, for Windows, it will use time.clock() while for Mac and Linux, it will use time.time().

Looking forward to making a move to the programming field? Take up the Python Training Course and begin your career as a professional Python programmer

Learn Python In-Depth With Simplilearn

The Python timeit() function is used to find the execution time of the Python code snippets. 

There are two methods in Python timeit():

  • timeit.default_timer
  • timeit.repeat(stmt, setup, timer, repeat, number)

To know more about Python and its various concepts, you would want a comprehensive course to guide you through this journey of learning and understanding Python and its various features and functions to build efficient software. Enroll in Simplilearn’s Python Development Training to get thorough guidance in Python to build efficient and reliable applications and programs using Python.

About the Author

SimplilearnSimplilearn

Simplilearn is one of the world’s leading providers of online training for Digital Marketing, Cloud Computing, Project Management, Data Science, IT, Software Development, and many other emerging technologies.

View More
  • Disclaimer
  • PMP, PMI, PMBOK, CAPM, PgMP, PfMP, ACP, PBA, RMP, SP, and OPM3 are registered marks of the Project Management Institute, Inc.