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实现爬虫统计学校BBS男女比例之多线程爬虫(二)
Dec 31 Python
浅析python递归函数和河内塔问题
Apr 18 Python
pycharm下打开、执行并调试scrapy爬虫程序的方法
Nov 29 Python
django使用xlwt导出excel文件实例代码
Feb 06 Python
python smtplib模块自动收发邮件功能(二)
May 22 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
Nov 06 Python
python实现指定字符串补全空格、前面填充0的方法
Nov 16 Python
Python Numpy计算各类距离的方法
Jul 05 Python
Django自定义用户表+自定义admin后台中的字段实例
Nov 18 Python
python环境下安装opencv库的方法
Mar 05 Python
Python实现封装打包自己写的代码,被python import
Jul 12 Python
python用opencv 图像傅里叶变换
Jan 04 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 getID3类的使用方法学习笔记【附getID3源码下载】
2019/10/18 PHP
jquery判断单个复选框是否被选中的代码
2009/09/03 Javascript
javascript实现的在当前窗口中漂浮框的代码
2010/03/15 Javascript
对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明
2010/03/20 Javascript
JavaScript对象链式操作代码(jquery)
2010/07/04 Javascript
js 处理数组重复元素示例代码
2013/12/27 Javascript
JavaScript类型系统之正则表达式
2016/01/05 Javascript
简单的js计算器实现
2016/10/26 Javascript
浅析js的模块化编写 require.js
2016/12/07 Javascript
微信小程序 天气预报开发实例代码源码
2017/01/20 Javascript
js动态添加表格逐行添加、删除、遍历取值的实例代码
2018/01/25 Javascript
在 Vue.js中优雅地使用全局事件的方法
2019/02/01 Javascript
vue 详情跳转至列表页实现列表页缓存
2019/03/27 Javascript
纯 JS 实现放大缩小拖拽功能(完整代码)
2019/11/25 Javascript
在vue和element-ui的table中实现分页复选功能
2019/12/04 Javascript
vue prop传值类型检验方式
2020/07/30 Javascript
SpringBoot+Vue 前后端合并部署的配置方法
2020/12/30 Vue.js
[06:23]2014DOTA2西雅图国际邀请赛 小组赛7月12日TOPPLAY
2014/07/12 DOTA
python命令行参数解析OptionParser类用法实例
2014/10/09 Python
python实现发送邮件功能代码
2017/12/14 Python
Python干货:分享Python绘制六种可视化图表
2018/08/27 Python
在Python中os.fork()产生子进程的例子
2019/08/08 Python
windows上彻底删除jupyter notebook的实现
2020/04/13 Python
Python 如何操作 SQLite 数据库
2020/08/17 Python
pycharm 2020 1.1的安装流程
2020/09/29 Python
世界上最好的帽子:Tilley
2016/11/27 全球购物
Herschel Supply Co.美国:背包、手提袋及配件
2020/11/24 全球购物
南京迈特望C/C++面试题
2012/07/09 面试题
国际贸易专业个人求职信范文分享
2013/12/14 职场文书
家长会演讲稿范文
2014/01/10 职场文书
家长学校培训材料
2014/08/20 职场文书
2014年法务工作总结
2014/12/11 职场文书
大学团日活动总结书
2015/05/11 职场文书
2019年大学毕业生个人自我鉴定范文大全
2019/03/21 职场文书
开网店计划分析
2019/07/30 职场文书
httpclient调用远程接口的方法
2022/08/14 Java/Android