Python执行时间的几种计算方法


Posted in Python onJuly 31, 2020

首先说一下我遇到的坑,生产上遇到的问题,我调度Python脚本执行并监控这个进程,python脚本运行时间远远大于python脚本中自己统计的程序执行时间。

监控python脚本执行的时间是36个小时,而python脚本中统计自己执行的时间是4个小时左右。
问题暴漏之后首先想到的是linux出了问题,查找各种日志未发现有何异常。

然后是想到python中用到的py2neo的写数据异步,阻塞进程执行。

最后,终于找到问题的所在:python脚本使用统计时间的方式是time.clock(),而这种方式统计的是CPU的执行时间,不是程序的执行时间。

接下来,就几种python的统计时间方式对比一下:

方法1:

import datetime
starttime = datetime.datetime.now()
#long running
#do something other
endtime = datetime.datetime.now()
print (endtime - starttime).seconds

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

方法2:

start = time.time()
#long running
#do something other
end = time.time()
print end-start

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

方法3:

start = time.clock()
#long running
#do something other
end = time.clock()
print end-start

time.clock()返回程序开始或第一次被调用clock()以来的CPU时间。 这具有与系统记录一样多的精度。返回的也是一个浮点类型。这里获得的是CPU的执行时间。
注:程序执行时间=cpu时间 + io时间 + 休眠或者等待时间

以上就是Python执行时间的几种计算方法的详细内容,更多关于Python执行时间的计算方法的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
微信跳一跳自动运行python脚本
Jan 08 Python
Python实现PS滤镜碎片特效功能示例
Jan 24 Python
Python拼接微信好友头像大图的实现方法
Aug 01 Python
python/sympy求解矩阵方程的方法
Nov 08 Python
python线程中的同步问题及解决方法
Aug 29 Python
解决Python3下map函数的显示问题
Dec 04 Python
JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解
Mar 19 Python
解决Python中报错TypeError: must be str, not bytes问题
Apr 07 Python
Python xlwt模块使用代码实例
Jun 10 Python
Python selenium实现断言3种方法解析
Sep 08 Python
python绘制趋势图的示例
Sep 17 Python
python 自动识别并连接串口的实现
Jan 19 Python
python 使用elasticsearch 实现翻页的三种方式
Jul 31 #Python
Python爬虫获取豆瓣电影并写入excel
Jul 31 #Python
深入浅析Python代码规范性检测
Jul 31 #Python
python使用Word2Vec进行情感分析解析
Jul 31 #Python
Python爬虫基于lxml解决数据编码乱码问题
Jul 31 #Python
Python如何定义有可选参数的元类
Jul 31 #Python
Python爬虫爬取糗事百科段子实例分享
Jul 31 #Python
You might like
PHP中的output_buffering详细介绍
2014/09/27 PHP
php示例详解Constructor Prototype Pattern 原型模式
2015/10/15 PHP
PHP检测用户是否关闭浏览器的方法
2016/02/14 PHP
微信接口生成带参数的二维码
2017/07/31 PHP
PHP使用PDO、mysqli扩展实现与数据库交互操作详解
2019/07/20 PHP
php 输出缓冲 Output Control用法实例详解
2020/03/03 PHP
超级强大的表单验证
2006/06/26 Javascript
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
2009/08/28 Javascript
点击文章内容处弹出页面代码
2009/10/01 Javascript
jQuery 常见开发使用技巧总结
2009/12/26 Javascript
一个基于jQuery的树型插件(OrangeTree)使用介绍
2012/05/03 Javascript
判定是否原生方法的JS代码
2013/11/12 Javascript
javascript中取前n天日期的两种方法分享
2014/01/26 Javascript
node.js中的buffer.toString方法使用说明
2014/12/14 Javascript
js类式继承与原型式继承详解
2016/04/07 Javascript
折叠菜单及选择器的运用
2017/02/03 Javascript
vue做网页开场视频的实例代码
2017/10/20 Javascript
vue实现图片滚动的示例代码(类似走马灯效果)
2018/03/03 Javascript
jQuery解析json格式数据示例
2018/09/01 jQuery
解决python写的windows服务不能启动的问题
2014/04/15 Python
Tensorflow环境搭建的方法步骤
2018/02/07 Python
python K近邻算法的kd树实现
2018/09/06 Python
html5 input输入实时检测以及延时优化
2018/07/18 HTML / CSS
学术会议欢迎词
2014/01/09 职场文书
幼儿园教师请假制度
2014/01/16 职场文书
《听鱼说话》教学反思
2014/02/15 职场文书
岗位标兵事迹材料
2014/05/17 职场文书
小学清明节活动总结
2014/07/04 职场文书
工作汇报开头与结尾怎么写
2014/11/08 职场文书
颐和园的导游词
2015/01/30 职场文书
社区元宵节活动总结
2015/02/06 职场文书
2015年出纳工作总结与计划
2015/05/18 职场文书
《植物妈妈有办法》教学反思
2016/02/23 职场文书
Redis集群节点通信过程/原理流程分析
2022/03/18 Redis
python的html标准库
2022/04/29 Python
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技