Time module in Python provides various time-related functions. This module comes under Python’s standard utility modules.
time.clock_gettime_ns()
method of Time module is used to get the time (in nanoseconds) 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 |
Syntax: time.clock_gettime(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 time in nanoseconds of the specified clock clk_id.
Code #1: Use of time.clock_gettime_ns()
method
# Python program to explain time.clock_gettime_ns() 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 time (in nanoseconds) of the above # specified clock clk_ids # using time.clock_gettime_ns() method t1 = time.clock_gettime_ns(clk_id1) t2 = time.clock_gettime_ns(clk_id2) t3 = time.clock_gettime_ns(clk_id3) t4 = time.clock_gettime_ns(clk_id4) t5 = time.clock_gettime_ns(clk_id5) # Print the time (in nanoseconds) of # different clock clk_ids print ( "System-wide real-time clock time: % d nanoseconds" % t1) print ( "Monotonic clock time: % d nanoseconds" % t2) print ( "Monotonic (raw-hardware based) clock time: % d nanoseconds" % t3) print ( "Thread-specific CPU time clock: % d nanoseconds" % t4) print ( "Per-process timer from the CPU: % d nanoseconds" % t5) |
System-wide real-time clock time: 1568588052857445167 nanoseconds Monotonic clock time: 13129927039288 nanoseconds Monotonic (raw-hardware based) clock time: 13129927039811 nanoseconds Thread-specific CPU time clock: 27169892 nanoseconds Per-process timer from the CPU: 27171779 nanoseconds
Code #2: Using an integer value as parameter of time.clock_gettime_ns()
method
# Python program to explain time.clock_gettime_ns() 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 time in nanoseconds) # for the specified clock clk_ids # using time.clock_gettime_ns() method t1 = time.clock_gettime_ns(clk_id1) t2 = time.clock_gettime_ns(clk_id2) # Print the time in nanoseconds print ( "System-wide real-time clock time: % d nanoseconds" % t1) print ( "Monotonic clock time: % d nanoseconds" % t2) |
System-wide real-time clock time: 1568588180971305067 nanoseconds Monotonic clock time: 13258040899143 nanoseconds
Reference: https://docs.python.org/3/library/time.html#time.clock_gettime