Python测量程序运行时间,time.time与time.clock

Python测量程序运行时间,time.time与time.clock,第1张

现象描述:

1、timeclock 在win系统和linux系统下对相同程序的计时结果不一致

2、到底应该用什么时间计时?为什么用timetime与timeclock计时会有那么大的差异

在计算机领域有多种时间。

第一种称作CPU时间或执行时间,用于测量在执行一个程序时CPU所花费的时间。第二种称作挂钟时间,测量执行一个程序时的总时间。挂钟时间也被称作流逝时间或运行时间。与CPU时间相比,挂钟时间通常长些,因为CPU执行测量的程序可能同时还在执行其它程序的指令。

另一个重要概念是所谓的系统时间,由系统时钟测量。系统时间表示计算机系统时间传递的概念。要记住系统时钟是可以由 *** 作系统修改的,就是修改系统时间。

在Unix系统上,timetime的作用与Windows相同,但timeclock的意义不同。

在Unix系统上,timeclock以秒为单位返回当前处理器时间,例如,执行当前线程所花费的CPU时间。而在Windows上,它是以秒为单位的返回自首次调用该函数以来所流逝的系统时间。

以我遇到的Ubuntu系统上运行timetime和timeclock的例子:

timetime()显示系统时间过去大概1秒,而timeclock()显示花费在当前进程上的CPU时间只有于1毫秒。

而win下timetime()和timeclock()显示系统时间都是大致过去了1秒

在测量程序准确性能时应该使用哪一个呢?

这要视情况而定。如果程序运行的系统能够提供足够的资源给程序,例如,一个运行基于Python的web应用程序的web服务器,则使用timeclock()来测量程序会更有意义,因这个web应用程序可能是服务器上的主要程序 。如果程序运行的系统上还同时运行着其它大量程序,则使用timetime()进行测量会更有意义。 如果不是这样,就应该使用基于挂钟的计时器来测量程序的性能,因为这样通常能反应程序的环境。

放结论,一般情况下:

1、win用timeclock或timetime

2、linux 下用timetime  或 datetimedatetimenow()timestamp()

1(重要)>

方法1:

import datetime

starttime = datetimedatetimenow()

#long running

#do something other

endtime = datetimedatetimenow()

print (endtime - starttime)seconds

datetimedatetimenow()获取的是当前日期,在程序执行结束之后,这个方式获得的时间值为程序执行的时间。

方法2:

start = timetime()

#long running

#do something other

end = timetime()

print end-start

timetime()获取自纪元以来的当前时间(以秒为单位)。如果系统时钟提供它们,则可能存在秒的分数。所以这个地方返回的是一个浮点型类型。这里获取的也是程序的执行时间。

方法3:

start = timeclock()

#long running

#do something other

end = timeclock()

print end-start

timeclock()返回程序开始或第一次被调用clock()以来的CPU时间。 这具有与系统记录一样多的精度。返回的也是一个浮点类型。这里获得的是CPU的执行时间。

注:程序执行时间=cpu时间 + io时间 + 休眠或者等待时间。

关于几种Python执行时间的计算方法,环球青藤小编就和大家分享到这里了,学习是永无止境的,学习一项技能更是受益终身,所以,只要肯努力学,什么时候开始都不晚。如果您还想继续了解关于python编程的学习方法及素材等内容,可以点击本站其他文章学习。

python 获取日期我们需要用到time模块,比如timestrftime方法

timestrftime('%Y-%m-%d',timelocaltime(timetime()))

最后用timestrftime()方法,把刚才的一大串信息格式化成我们想要的东西,现在的结果是:

2013-03-31

timestrftime里面有很多参数,可以让你能够更随意的输出自己想要的东西:

下面是timestrftime的参数:

strftime(format[, tuple]) -> string

将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出

python中时间日期格式化符号:

%y 两位数的年份表示(00-99)

%Y 四位数的年份表示(000-9999)

%m 月份(01-12)

%d 月内中的一天(0-31)

%H 24小时制小时数(0-23)

%I 12小时制小时数(01-12)

%M 分钟数(00=59)

%S 秒(00-59)

%a 本地简化星期名称

%A 本地完整星期名称

%b 本地简化的月份名称

%B 本地完整的月份名称

%c 本地相应的日期表示和时间表示

%j 年内的一天(001-366)

%p 本地AM或PM的等价符

%U 一年中的星期数(00-53)星期天为星期的开始

%w 星期(0-6),星期天为星期的开始

%W 一年中的星期数(00-53)星期一为星期的开始

%x 本地相应的日期表示

%X 本地相应的时间表示

%Z 当前时区的名称

%% %号本身

python中要把字符串转换成日期格式需要使用time模块中的strptime函数,例子如下: import timet = timestrptime('2016-05-09 21:09:30', '%Y-%m-%d %H:%M:%S')print(t)执行结果如下: timestruct_time(tm_year=2016, tm_mon=5, tm_mday=9,

以上就是关于Python测量程序运行时间,time.time与time.clock全部的内容,包括:Python测量程序运行时间,time.time与time.clock、python获取网页信息、几种Python执行时间的计算方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/10092772.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存