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从零实现贝叶斯分类器的机器学习的教程
Mar 31 Python
python解决Fedora解压zip时中文乱码的方法
Sep 18 Python
python字符串的方法与操作大全
Jan 30 Python
python实现贪吃蛇小游戏
Mar 21 Python
解决Django生产环境无法加载静态文件问题的解决
Apr 23 Python
一行Python代码制作动态二维码的实现
Sep 09 Python
Spring实战之使用util:命名空间简化配置操作示例
Dec 09 Python
使用Python开发个京东上抢口罩的小实例(仅作技术研究学习使用)
Mar 10 Python
Python基于class()实现面向对象原理详解
Mar 26 Python
Python3 selenium 实现QQ群接龙自动化功能
Apr 17 Python
使用keras实现densenet和Xception的模型融合
May 23 Python
python实现银行账户系统
Feb 22 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
简单采集了yahoo的一些数据
2007/02/14 PHP
MySql 按时间段查询数据方法(实例说明)
2008/11/02 PHP
php实现webservice实例
2014/11/06 PHP
PHP如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
joomla数据库操作示例代码
2016/01/06 PHP
懒就要懒到底——鼠标自动点击(含时间判断)
2007/02/20 Javascript
刷新时清空文本框内容的js代码
2007/04/23 Javascript
学习并汇集javascript匿名函数
2010/11/25 Javascript
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
2011/02/18 Javascript
JS 屏蔽键盘不可用与鼠标右键不可用的方法
2013/11/18 Javascript
给事件响应函数传参数的四种方式小结
2013/12/05 Javascript
JS 日期比较大小的简单实例
2014/01/13 Javascript
js数组中如何随机取出一个值
2014/06/13 Javascript
一系列Bootstrap导航条使用方法分享
2016/04/29 Javascript
jQuery动态添加.active 实现导航效果代码思路详解
2017/08/29 jQuery
Vue项目全局配置微信分享思路详解
2018/05/04 Javascript
AngularJS模态框模板ngDialog的使用详解
2018/05/11 Javascript
详解基于vue-cli3.0如何构建功能完善的前端架子
2018/10/09 Javascript
bootstrap tooltips在 angularJS中的使用方法
2019/04/10 Javascript
JavaScript日期库date-fn.js使用方法解析
2020/09/09 Javascript
[02:50]【扭转乾坤,只此一招】DOTA2全新版本永雾林渊开启新篇章
2020/12/24 DOTA
python访问类中docstring注释的实现方法
2015/05/04 Python
Python 结巴分词实现关键词抽取分析
2017/10/21 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
Python 的 f-string 可以连接字符串与数字的原因解析
2021/02/20 Python
德国奢侈品网上商城:Mytheresa
2016/08/24 全球购物
MATCHESFASHION.COM法国官网:英国奢侈品零售商
2018/01/04 全球购物
Etam艾格英国官网:法国著名女装品牌
2019/04/15 全球购物
小学红领巾中秋节广播稿
2014/01/13 职场文书
借款协议书
2014/04/12 职场文书
先进教师个人事迹材料
2014/12/15 职场文书
晚会开幕词
2015/01/28 职场文书
行政申诉状范文
2015/05/20 职场文书
python 模块重载的五种方法
2021/04/24 Python
pandas中DataFrame检测重复值的实现
2021/05/26 Python
python通过opencv调用摄像头操作实例分析
2021/06/07 Python