Python速度测试-时间差-毫秒

2020-12-02 21:13:55 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python中比较两次以加速测试一段代码的正确方法是什么?我试着阅读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
3条回答
网友
1楼 ·

^{}只是两个日期时间之间的差异。。。就像一段时间,以天/秒/微秒为单位

>>> 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”命令。

网友
2楼 ·

从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
网友
3楼 ·

您可能想改用the timeit module

相关问题