📜  Python| time.monotonic_ns() 方法

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

Python| time.monotonic_ns() 方法

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

Python中时间模块time.monotonic_ns()方法用于获取以纳秒为单位的单调时钟的值。此方法类似于time.monotonic()方法,它以小数秒为单位返回单调时钟值。单调时钟是不能倒退的时钟。

代码 #1:使用time.monotonic_ns()方法获取以纳秒为单位的单调时钟的值

# Python program to explain time.monotonic_ns() method
  
# importing time module
import time
  
# Get the value of
# the monotonic clock in 
# fractional seconds using
# time.monotonic() method
value1 = time.monotonic()
  
# Get the value of
# the monotonic clock in 
# nanoseconds using
# time.monotonic_ns() method
value2 = time.monotonic_ns()
  
# print the value of 
# the monotonic clock (in fractional seconds)
print("Value of the monotonic clock (in fractional seconds):", value1)
  
# print the value of 
# the monotonic clock (in nanoseconds)
print("Value of the monotonic clock (in nanoseconds):", value2)
输出:
Value of the monotonic clock (in fractional seconds): 13486.679399824
Value of the monotonic clock (in nanoseconds): 13486679402777

代码 #2:使用time.monotonic_ns()方法来测量长时间运行过程中经过的时间。

# Python program to explain time.monotonic_ns() method
  
# importing time module
import time
  
  
# Function to calculate factorial 
# of the given number
def factorial(n):
    f = 1
    for i in range(n, 1, -1):
        f = f * i
      
    return f 
  
  
# Get the value of the
# monotonic clock in nanoseconds at the 
# beginning of the process
# using time.monotonic_ns() method
start = time.monotonic_ns()
  
# print the value of 
# the monotonic clock in nanoseconds
print("At the beginning of the process")
print("Value of the monotonic clock (in nanoseconds):", start, "\n")
  
# Calculate factorial of all
# numbers form 0 to 9
i = 0
fact = [0] * 10;
  
while i < 10:
    fact[i] = factorial(i)
    i = i + 1
  
# Print the calculated factorial
for i in range(0, len(fact)):
    print("Factorial of % d:" % i, fact[i])
  
# Get the value of
# monotonic clock in nanoseconds
# using time.monotonic_ns() method
end = time.monotonic_ns()
  
# print the value of 
# the monotonic clock
print("\nAt the end of the process")
print("Value of the monotonic clock (in nanoseconds):", end)
print("Time elapsed during the process:", end - start)    
输出:
At the beginning of the process
Value of the monotonic clock (in nanoseconds): 14671301967243 

Factorial of 0: 1
Factorial of 1: 1
Factorial of 2: 2
Factorial of 3: 6
Factorial of 4: 24
Factorial of 5: 120
Factorial of 6: 720
Factorial of 7: 5040
Factorial of 8: 40320
Factorial of 9: 362880

At the end of the process
Value of the monotonic clock (in nanoseconds): 14671302231487
Time elapsed during the process: 264244

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