get_clock_info函数获取时钟的基本信息,得到的值因不同系统存在差异,函数原型比较简单:
time.get_clock_info(name)
其中 name 可以取下述值:
monotonic:time.monotonic()
perf_counter: time.perf_counter()
process_time: time.process_time()
thread_time: time.thread_time()
time: time.time()
该函数的返回值具有以下属性:
adjustable : 返回 True 或者 False。如果时钟可以自动更改(例如通过 NTP 守护程序)或由系统管理员手动更改,则为 True ,否则为 False ;
implementation : 用于获取时钟值的基础 C 函数的名称,就是调用底层 C 的函数;
monotonic :如果时钟不能倒退,则为 True ,否则为 False;
resolution : 以秒为单位的时钟分辨率( float )。
import time
available_clocks = [
('clock', time.clock),
('monotonic', time.monotonic),
('perf_counter', time.perf_counter),
('process_time', time.process_time),
('time', time.time),
]
for clock_name, func in available_clocks:
print('''
{name}:
adjustable : {info.adjustable}
implementation: {info.implementation}
monotonic : {info.monotonic}
resolution : {info.resolution}
current : {current}
'''.format(
name=clock_name,
info=time.get_clock_info(clock_name),
current=func()))

上图显示橡皮擦的计算机在 clock 与 perf_counter 中,调用底层 C 函数是一致的。