为了加速测试一段代码,在 Python 中比较 2 次的正确方法是什么?我尝试阅读 API 文档。我不确定我是否理解 timedelta 的事情。
到目前为止,我有这个代码:
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
datetime.timedelta只是两个日期时间之间的差异......所以它就像一段时间,以天/秒/微秒为单位
datetime.timedelta
>>> 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仅返回 timedelta 的微秒部分!出于计时目的,请始终使用c.total_seconds().
c.microseconds
c.total_seconds()
您可以使用 datetime.timedelta 进行各种数学运算,例如:
>>> c / 10 datetime.timedelta(0, 0, 431654)
不过,查看 CPU 时间而不是挂钟时间可能更有用……尽管这取决于操作系统……在类 Unix 系统下,请查看“时间”命令。