📜  Python| time.clock_gettime_ns() 方法

📅  最后修改于: 2022-05-13 01:55:11.586000             🧑  作者: Mango

Python| time.clock_gettime_ns() 方法

Python中的时间模块提供了各种与时间相关的功能。该模块属于 Python 的标准实用程序模块。

Time 模块time.clock_gettime_ns()方法用于获取指定时钟 clk_id 的时间(以纳秒为单位)。基本上, clk_id是一个整数值,表示时钟的 id。

以下是 UNIX 平台上可用作clk_id参数值的常量:

clk_idclk_id constantMeaning
0time.CLOCK_REALTIMESystem-wide real-time clock
1time.CLOCK_PROCESS_CPUTIME_IDHigh-resolution per-process timer from the CPU
2time.CLOCK_MONOTONICIt represents monotonic time since some unspecified starting point
3time.CLOCK_THREAD_CPUTIME_IDThread-specific CPU-time clock
4time.CLOCK_MONOTONIC_RAWSimilar to time.CLOCK_MONOTONIC, but provides access to a raw hardware-based time that is not subject to NTP adjustments

代码 #1:使用time.clock_gettime_ns()方法

# 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

代码 #2:使用整数值作为time.clock_gettime_ns()方法的参数

# 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

参考: https://docs。 Python.org/3/library/time.html#time.clock_gettime