您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

准确测量python函数所需的时间

准确测量python函数所需的时间

根据Python文档,它与不同操作系统中时间函数的准确性有关:

认计时器功能取决于平台。在Windows上,time.clock()的粒度为微秒,但time.time()的粒度为1/60秒;在Unix上,time.clock()具有1/100秒的粒度,并且time.time()更精确。在这两个平台上,认计时器功能都将测量挂钟时间,而不是cpu时间。这意味着在同一台计算机上运行的其他进程可能会干扰计时。在Unix上,可以使用time.clock()来测量cpu时间。

要直接从timeit.py代码提取

if sys.platform == "win32":
    # On Windows, the best timer is time.clock()
    default_timer = time.clock
else:
    # On most other platforms the best timer is time.time()
    default_timer = time.time

此外,它直接为您设置运行时代码。如果使用time,则必须自己做。这当然

Timeit的设置:

def inner(_it, _timer):
    #Your setup code
    %(setup)s
    _t0 = _timer()
    for _i in _it:
        #The code you want to time
        %(stmt)s
    _t1 = _timer()
    return _t1 - _t0

从Python 3.3开始,您可以使用time.perf_counter()(系统范围内的计时)或time.process_time()(进程范围内的计时),仅使用以前的方式即可time.clock()

from time import process_time

t = process_time()
#do some stuff
elapsed_time = process_time() - t

功能process_time将不包括睡眠时间。

从Python 3.7开始,您还可以使用process_time_ns()与相似的方法process_time()但是返回的时间以纳秒为单位。

python 2022/1/1 18:50:50 有362人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶