我想以便宜的方式测量函数的执行时间,如下所示:
def my_timeit(func, *args, **kwargs):
t0 = time.time()
result = func(*args, **kwargs)
delta = time.time() - t0
return delta, result
def foo():
time.sleep(1.23)
return 'potato'
delta, result = my_timeit(foo)
但是我想使用timeit
,profile
或其他内置的来处理由于平台差异而导致的任何常见缺陷,并且获得实际执行时间而不是墙上时间可能也会更好。
我尝试使用timeit.Timer(foo).timeit(number=1)
,但界面似乎掩盖了返回值。