我想要的是在我的代码中的某个地方开始计算时间,然后获取经过的时间,以测量执行几个函数所花费的时间。我认为我使用错误的 timeit 模块,但文档只是让我感到困惑。
import timeit start = timeit.timeit() print("hello") end = timeit.timeit() print(end - start)
如果您只想测量两点之间经过的挂钟时间,您可以使用 time.time():
time.time()
import time start = time.time() print("hello") end = time.time() print(end - start)
这给出了以秒为单位的执行时间。
自 3.3 以来的另一个选项可能是使用perf_counteror process_time,具体取决于您的要求。在 3.3 之前,建议使用time.clock(感谢Amber)。但是,它目前已被弃用:
perf_counter
process_time
time.clock
在 Unix 上,以浮点数形式返回当前处理器时间,以秒为单位。精度,实际上是“处理器时间”含义的定义,取决于同名 C 函数的精度。 在 Windows 上,此函数返回自第一次调用此函数以来经过的挂钟秒数,作为浮点数,基于 Win32 函数QueryPerformanceCounter()。分辨率通常优于一微秒。 3.3 版后已弃用:此函数的行为取决于平台:根据您的要求使用perf_counter()或process_time()代替,以获得明确定义的行为。
在 Unix 上,以浮点数形式返回当前处理器时间,以秒为单位。精度,实际上是“处理器时间”含义的定义,取决于同名 C 函数的精度。
在 Windows 上,此函数返回自第一次调用此函数以来经过的挂钟秒数,作为浮点数,基于 Win32 函数QueryPerformanceCounter()。分辨率通常优于一微秒。
QueryPerformanceCounter()
3.3 版后已弃用:此函数的行为取决于平台:根据您的要求使用perf_counter()或process_time()代替,以获得明确定义的行为。
perf_counter()
process_time()