Python | time.monotonic_ns() method
Last Updated :
12 Jul, 2025
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)
Output: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)
Output: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