为了快速测试一段代码,在Python中进行两次比较的正确方法是什么?我尝试阅读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系统下,请检查“ time”命令。