为了加速测试一段代码,在Python中比较2次的正确方法是什么?我试着读了API文档。我不确定我是否理解时间增量的事情。
到目前为止,我有以下代码:
from datetime import datetime
tstart = datetime.now()
print t1
# code to speed test
tend = datetime.now()
print t2
# what am I missing?
# I'd like to print the time diff here
发布于 2009-04-19 23:31:02
datetime.timedelta
只是两个datetimes之间的差值...所以它就像一段时间,以天/秒/微秒为单位
>>> import datetime
>>> a = datetime.datetime.now()
>>> b = datetime.datetime.now()
>>> c = b - a
>>> c
datetime.timedelta(0, 4, 316543)
>>> c.days
0
>>> c.seconds
4
>>> c.microseconds
316543
请注意,c.microseconds
仅返回时间增量的微秒部分!出于计时目的,请始终使用c.total_seconds()
。
你可以用datetime.timedelta做各种数学运算,例如:
>>> c / 10
datetime.timedelta(0, 0, 431654)
不过,查看CPU时间可能比查看挂钟时间更有用……不过,这是依赖于操作系统的。在类Unix系统下,查看“time”命令。
发布于 2014-06-18 06:38:54
从Python2.7开始就有了timedelta.total_seconds()方法。因此,要获取经过的毫秒数:
>>> import datetime
>>> a = datetime.datetime.now()
>>> b = datetime.datetime.now()
>>> delta = b - a
>>> print delta
0:00:05.077263
>>> int(delta.total_seconds() * 1000) # milliseconds
5077
发布于 2009-04-20 00:18:11
您可能希望改用the timeit module。
https://stackoverflow.com/questions/766335
复制相似问题