Time module in Python provides various time-related functions. This module comes under Python’s standard utility modules. time.monotonic_ns() method of time module in Python is used to get the value of a monotonic clock in nanoseconds. This method is similar to time.monotonic() method which returns the monotonic clock value in fractional seconds. A monotonic clock is a clock that can not go backwards.
Syntax: time.monotonic_ns() Parameter: No parameter is required. Return type: This method returns an integer value which represents the value of a monotonic clock in nanoseconds.
Code #1: Use of time.monotonic_ns() method to get value of a monotonic clock in nanoseconds
Python3
# 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
Code #2: Use of time.monotonic_ns() method to measure elapsed time in long running process.
Python3
# 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 from 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
Reference: https://docs.python.org/3/library/time.html#time.monotonic_ns