Time module in Python provides various time-related functions. This module comes under Python’s standard utility modules.
time.clock_getres()
method of Time module is used to get the resolution or precision of the specified clock clk_id. Basically, clk_id is a integer value which represents the id of the clock.
Following are the constants available on UNIX platforms that can be used as value of clk_id parameter:
clk_id | clk_id constant | Meaning |
---|---|---|
0 | time.CLOCK_REALTIME | System-wide real-time clock |
1 | time.CLOCK_PROCESS_CPUTIME_ID | High-resolution per-process timer from the CPU |
2 | time.CLOCK_MONOTONIC | It represents monotonic time since some unspecified starting point |
3 | time.CLOCK_THREAD_CPUTIME_ID | Thread-specific CPU-time clock |
4 | time.CLOCK_MONOTONIC_RAW | Similar to time.CLOCK_MONOTONIC, but provides access to a raw hardware-based time that is not subject to NTP adjustments |
Note: time.clock_getres()
method is only available on UNIX-like systems.
Syntax: time.clock_getres(clk_id)
Parameter:
clk_id: A clk_id constant or an integer value representing clk_id of the clock.Return type: This method returns a float value which represents the precision or resolution of specified clock clk_id.
Code #1: Use of time.clock_getres()
method
# Python program to explain time.clock_getres() method # importing time module import time # clk_id for System-wide real-time clock clk_id1 = time.CLOCK_REALTIME # clk_id for monotonic clock clk_id2 = time.CLOCK_MONOTONIC # clk_id for monotonic (Raw hardware # based time) clock clk_id3 = time.CLOCK_MONOTONIC # clk_id for Thread-specific CPU-time clock clk_id4 = time.CLOCK_THREAD_CPUTIME_ID # clk_id for High-resolution # per-process timer from the CPU clk_id5 = time.CLOCK_PROCESS_CPUTIME_ID # Get the precision (Resolution) # of the above specified clock clk_ids # using time.clock_getres() method precision1 = time.clock_getres(clk_id1) precision2 = time.clock_getres(clk_id2) precision3 = time.clock_getres(clk_id3) precision4 = time.clock_getres(clk_id4) precision5 = time.clock_getres(clk_id5) # Print the precision (resolution) print ( "Precision of system-wide real-time clock:" , precision1) print ( "Precision of monotonic clock:" , precision2) print ( "Precision of monotonic (raw-hardware based time) clock:" , precision3) print ( "Precision of thread-specific CPU time clock:" , precision4) print ( "Precision of per-process time from the CPU:" , precision5) |
Precision of system-wide real-time clock: 1e-09 Precision of monotonic clock: 1e-09 Precision of monotonic (raw-hardware based time) clock: 1e-09 Precision of thread-specific CPU time clock: 1e-09 Precision of per-process time from the CPU: 1e-09
Code #2: Using an integer value as parameter of time.clock_getres()
method
# Python program to explain time.clock_getres() method # importing time module import time # value of clk_id for time.CLOCK_REALTIME # clock id constant which represents # System-wide real-time clock is 0 clk_id1 = 0 # value of clk_id for time.CLOCK_MONOTONIC # clock id constant which represents # a monotonic clock is 2 clk_id2 = 2 # Get the precision (Resolution) # of the above specified clock clk_ids # using time.clock_getres() method precision1 = time.clock_getres(clk_id1) precision2 = time.clock_getres(clk_id2) # Print the precision (resolution) print ( "Precision of system-wide real-time clock:" , precision1) print ( "Precision of monotonic clock:" , precision2) |
Precision of system-wide real-time clock: 1e-09 Precision of monotonic clock: 1e-09
Reference: https://docs.python.org/3/library/time.html#time.clock_getres