time模块中的计时器

2020年6月4日 / 201次阅读 / Last Modified 2020年6月4日
时间计算

python time模块中,有好几组不同的计时器,我今天才顿悟它们存在的意义,特此记录。

time.time和time.time_ns

这可能是我们最常用的time模块的接口。

time.time函数返回系统UNIX时间,time.time_ns以纳秒的形式返回系统UNIX时间。

>>> import time
>>> time.time()
1591235079.9658196
>>> time.time()
1591235083.2702475
>>> time.time_ns()
1591235087053414000
>>> time.time_ns()
1591235089100793500

我的如何获取纳秒的文章中,也是用的time.time_ns函数。

time.monotonic和time.monotonic_ns

monotonic时间是指系统启动后从0开始递增的时间,它不会因为我们调整系统时间而发生回调这种情况。

>>> time.monotonic()
1849435.546
>>> time.monotonic()
1849437.0
>>> time.monotonic_ns()
1849440343000000
>>> time.monotonic_ns()
1849442359000000

time.perf_counter和time.perf_counter_ns

这个计时器记录的是python解释器启动后经过的时间。timeit模块默认就是使用这个计时器来计算时间。

C:\Users\xinli>python
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import time
>>> time.perf_counter()
5.8445583
>>> time.perf_counter()
8.9713227
>>> time.perf_counter()
11.7148052
>>> time.perf_counter_ns()
14650963900
>>> time.perf_counter_ns()
16739663700

time.process_time和time.process_time_ns

这个计时器记录的是CPU时间。

>>> time.process_time()
2.59375
>>> time.process_time()
2.59375
>>> time.process_time_ns()
2593750000
>>> time.process_time_ns()
2593750000

time.thread_time和time.thread_time_ns

这两个函数记录线程的CPU时间。

-- EOF --

本文链接:https://www.pynote.net/archives/2041

留言区

电子邮件地址不会被公开。 必填项已用*标注


前一篇:
后一篇:

More


©Copyright 麦新杰 Since 2019 Python笔记

go to top