Python | time.clock_gettime_ns() method

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

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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)  

chevron_right


Output:

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

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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)

chevron_right


Output:

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



My Personal Notes arrow_drop_up

self motivated and passionate programmer

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.