【发布时间】:2012-06-04 16:31:22
【问题描述】:
有没有办法使用timeit函数同时输出函数结果和处理时间?
我现在正在使用
timer = Timer('func()', 'from __main__ import func')
print timer.timeit(1)
但这只是输出时间而不是程序输出,它在结束时返回一些东西。我希望它输出
FuncOutputGoesHere 13.2897528935
在同一行。
理想情况下,我希望能够通过运行 N 次来获取程序的平均值,然后输出程序结果及其平均时间(总共输出一次)
【问题讨论】:
-
我似乎看到人们推荐 timeit 和人们推荐 time.time() 之间有很多偏差。哪个更好?
-
timeit使用time.time(),除非您在 Windows 上,否则它将使用time.clock(更准确)。 -
那么timeit会为我提供最准确的信息吗?
-
我的回答为您提供了与
timeit使用的相同的代码。它会同样准确。 -
更新了我的答案;如果你不止一次运行它无论如何,为什么不再次运行它来捕获返回值呢?