时间测量精度

时间:2017-10-06 01:47:48

标签: python python-2.7 python-3.x performance time

通过实施

start_time = time.time()

在我的代码开头和

print("%f seconds" % (time.time() - start_time))

在我的代码结束时,我一直在测量我的脚本的性能(可能需要几个小时才能运行)。我听说这可能不是最好的方法,因为它不准确。它有多准确,是否有更好的选择?

2 个答案:

答案 0 :(得分:2)

试试这个,来自标准库的时间:

from timeit import default_timer as timer
start_time = timer()
end_time = timer()    
print(end_time - start_time)                                                                                                                                           
logger.info("Duration was {}".format(end_time - start_time)) 

default_timer的文档很有意思,应该在答案中引用:“以特定于平台的方式定义默认计时器。在Windows上,time.clock()具有微秒粒度,但是time.time( )粒度是1/60秒。在Unix上,time.clock()的粒度是1/100,time.time()更精确。在任一平台上,default_timer()测量挂钟时间,而不是CPU时间。这意味着在同一台计算机上运行的其他进程可能会干扰时间。“

答案 1 :(得分:0)

尝试使用日期时间

from datetime import datetime
startTime = datetime.now()
#CODE
print("Time taken:",datetime.now() - startTime)