测量在Python中经过的时间

发布于 2021-02-02 23:22:21

我想要的是开始在代码中的某个地方开始计时,然后获取经过的时间,以衡量执行少量功能所花费的时间。我认为我使用的timeit模块错了,但是文档对我来说很混乱。

import timeit

start = timeit.timeit()
print("hello")
end = timeit.timeit()
print(end - start)
关注者
0
被浏览
98
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    使用timeit.default_timer代替timeit.timeit。前者会自动在你的平台和Python版本上提供最佳时钟:

    from timeit import default_timer as timer
    
    start = timer()
    # ...
    end = timer()
    print(end - start) # Time in seconds, e.g. 5.38091952400282
    


  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    如果你只想测量两点之间经过的挂钟时间,则可以使用 time.time()

    import time
    
    start = time.time()
    print("hello")
    end = time.time()
    print(end - start)
    

    这以秒为单位给出了执行时间。

    自3.3起,另一个选择可能是使用perf_counterprocess_time,具体取决于你的要求。在3.3之前,建议使用time.clock(感谢Amber)。但是,目前不推荐使用:

    在Unix上,以秒为单位返回当前处理器时间,以浮点数表示。精度,实际上是“处理器时间”含义的确切定义,取决于同名C函数的精度。

    在Windows上,基于Win32函数,此函数返回自第一次调用此函数以来经过的时间(以秒为单位),以浮点数表示QueryPerformanceCounter()。分辨率通常优于一微秒。

    从版本3.3开始不推荐使用:此功能的行为取决于平台:根据需要,使用perf_counter()process_time()相反,以具有明确定义的行为。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看