0

time.time()在 Linux 上似乎可以us = 1/1000 ms精确地产生当前时间。

我可以用它来ms精确地分析函数吗,通过这样做:

func_start = time.time() * 1000
#run something inbetween
print 'Function finishes in: %.3f ms' % ((time.time() * 1000) - func_start)
4

1 回答 1

1

不,您不会以这种方式提高精度。你也可以这样做:

func_start = time.time()

print 'Function finishes in: %.3f ms' % ((time.time() - func_start) * 1000)

但是要准确衡量一个函数的性能,你真的需要重新运行它几次,以消除操作系统调度、同时发生磁盘刷新中断等的影响。

对于您的平台允许的准确计时方法,请使用timeit模块,或至少重新使用它的default_timer()功能。

于 2012-11-29T16:38:09.220 回答