Python | time.clock_getres() method
Last Updated :
17 Sep, 2019
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
Python3
# 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)
Output:
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
Python3
# 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)
Output:
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