我知道我可以使用这个
from timeit import timeit
test = lambda f: timeit(lambda:f(100), number=1)
t1 = test(hello)
计算hello
函数与参数100
一起运行需要多长时间。但是,让我们说我的hello
函数返回字符串'world'
,我想存储返回值和也需要执行它所花费的时间。
能做到吗?
答案 0 :(得分:4)
如果您只想对特定功能的特定呼叫进行计时,则可以执行以下操作。这将为您提供一次运行的准确时间。但是,您可能只想使用timeit或profile来更准确地了解您的程序正在执行的操作。这些工具聚合多次运行以获得更准确的平均案例结果。
创建一个函数,它接受一个函数来调用,记录时间,然后运行函数并返回值和时间增量。
import time
def timed(func, *args, **kwargs):
start = time.time()
out = func(*args, **kwargs)
return out, time.time() - start
def my_func(value):
time.sleep(value)
return value
print(timed(my_func(5))) # (5, 5.0050437450408936)