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中正则表达式的详细教程
Apr 30 Python
Python编写简单的HTML页面合并脚本
Jul 11 Python
详解python分布式进程
Oct 08 Python
在Pycharm中项目解释器与环境变量的设置方法
Oct 29 Python
python 定时器,实现每天凌晨3点执行的方法
Feb 20 Python
Python 微信之获取好友昵称并制作wordcloud的实例
Feb 21 Python
python之pyqt5通过按钮改变Label的背景颜色方法
Jun 13 Python
pandas 如何分割字符的实现方法
Jul 29 Python
Django集成MongoDB实现过程解析
Dec 01 Python
django项目中使用云片网发送短信验证码的实现
Jan 19 Python
Python控制台输出俄罗斯方块移动和旋转功能
Apr 18 Python
Python Flask请求扩展与中间件相关知识总结
Jun 11 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
《神奇女侠:血脉》神力女超人大战犯罪公司
2020/04/09 欧美动漫
PHP生成便于打印的网页
2006/10/09 PHP
php中get_headers函数的作用及用法的详细介绍
2013/04/27 PHP
微信支付PHP SDK之微信公众号支付代码详解
2015/12/09 PHP
PHP单例模式简单用法示例
2017/06/23 PHP
THINKPHP5.1 Config的配置与获取详解
2020/06/08 PHP
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
兼容IE和FF的js脚本代码小结(比较常用)
2010/12/06 Javascript
jquery的键盘事件修改代码
2011/02/24 Javascript
使用javascript过滤html的字符串(注释标记法)
2013/07/08 Javascript
jquery果冻抖动效果实现方法
2015/01/15 Javascript
Javascript实现飞动广告效果的方法
2015/05/25 Javascript
Angular工具方法学习
2016/12/26 Javascript
canvas雪花效果核心代码分享
2017/02/19 Javascript
bootstrap表单示例代码分享
2017/05/18 Javascript
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
2017/10/17 Javascript
vue.js语法及常用指令
2017/10/29 Javascript
在knockoutjs 上自己实现的flux(实例讲解)
2017/12/18 Javascript
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
javascript将非数值转换为数值
2018/09/13 Javascript
使用gulp构建前端自动化的方法示例
2018/12/25 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
基于vue hash模式微信分享#号的解决
2020/09/07 Javascript
python实现发送邮件功能
2017/07/22 Python
Python实现抢购IPhone手机
2018/02/07 Python
Python中 传递值 和 传递引用 的区别解析
2018/02/22 Python
Python使用Selenium+BeautifulSoup爬取淘宝搜索页
2018/02/24 Python
解决Tensorflow占用GPU显存问题
2020/02/03 Python
Python如何优雅删除字符列表空字符及None元素
2020/06/25 Python
python文件编写好后如何实践
2020/07/07 Python
LUISAVIAROMA德国官网:时尚奢侈品牌购物网站
2020/11/12 全球购物
给老师的检讨书
2014/02/11 职场文书
做一个有道德的人活动实施方案
2014/08/23 职场文书
追悼词范文大全
2015/06/23 职场文书
简历上的自我评价,该怎么写呢?
2019/06/13 职场文书
解决SpringCloud Feign传对象参数调用失败的问题
2021/06/23 Java/Android