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 相关文章推荐
改进Django中的表单的简单方法
Jul 17 Python
使用Numpy读取CSV文件,并进行行列删除的操作方法
Jul 04 Python
Python开发最牛逼的IDE——pycharm
Aug 01 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
Jan 14 Python
Django REST framework 分页的实现代码
Jun 19 Python
解决Python列表字符不区分大小写的问题
Dec 19 Python
matlab灰度图像调整及imadjust函数的用法详解
Feb 27 Python
浅谈keras保存模型中的save()和save_weights()区别
May 21 Python
Python新手学习装饰器
Jun 04 Python
PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)
Aug 07 Python
详解Django中views数据查询使用locals()函数进行优化
Aug 24 Python
Python OpenCV超详细讲解调整大小与图像操作的实现
Apr 02 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
基于文本的搜索
2006/10/09 PHP
ADODB的数据库封包程序库
2006/12/31 PHP
浅析iis7.5安装配置php环境
2015/05/10 PHP
PHP实时统计中文字数和区别
2019/02/28 PHP
让iframe子窗体取父窗体地址栏参数(querystring)
2009/10/13 Javascript
仅IE支持clearAttributes/mergeAttributes方法使用介绍
2012/05/04 Javascript
JavaScript控制Session操作方法
2013/01/17 Javascript
动态获取复选框checkbox选中个数的jquery代码
2013/06/25 Javascript
javascript获取隐藏dom的宽高 具体实现
2013/07/14 Javascript
JQuery分别取得每行最后一列和最后一行的示例代码
2013/08/18 Javascript
Js和JQuery获取鼠标指针坐标的实现代码分享
2015/05/25 Javascript
js时钟翻牌效果实现代码分享
2020/07/31 Javascript
简单实现限制uploadify上传个数
2015/11/16 Javascript
jquery UI Datepicker时间控件的使用及问题解决
2016/04/28 Javascript
原生js jquery ajax请求以及jsonp的调用方法
2017/08/04 jQuery
vue按需引入element Transfer 穿梭框
2017/09/30 Javascript
vue表单自定义校验规则介绍
2018/08/28 Javascript
Vue项目从webpack3.x升级webpack4不完全指南
2019/04/28 Javascript
详解vue-property-decorator使用手册
2019/07/29 Javascript
JS实现旋转木马轮播图
2020/01/01 Javascript
[02:34]2016完美“圣”典风云人物:BurNIng专访
2016/12/10 DOTA
[02:00]DAC2018主宣传片——龙征四海,剑问东方
2018/03/20 DOTA
利用Python查看目录中的文件示例详解
2017/08/28 Python
python爬取拉勾网职位数据的方法
2018/01/24 Python
python实现随机漫步算法
2018/08/27 Python
如何基于python实现归一化处理
2020/01/20 Python
Python 读取xml数据,cv2裁剪图片实例
2020/03/10 Python
在django项目中导出数据到excel文件并实现下载的功能
2020/03/13 Python
python如何实时获取tcpdump输出
2020/09/16 Python
Python语言编写智力问答小游戏功能
2020/10/13 Python
公司年会抽奖活动主持词
2014/03/31 职场文书
网吧七夕活动策划方案
2014/08/31 职场文书
校园环保广播稿(3篇)
2014/09/15 职场文书
2014年房产经纪人工作总结
2014/12/08 职场文书
销售经理岗位职责
2015/01/31 职场文书
证券公司客户经理岗位职责
2015/04/09 职场文书