Python执行时间的计算方法小结


Posted in Python onMarch 17, 2017

首先说一下我遇到的坑,生产上遇到的问题,我调度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 开发的三种运行模式详细介绍
Jan 18 Python
python清除字符串前后空格函数的方法
Oct 21 Python
将python图片转为二进制文本的实例
Jan 24 Python
Python合并同一个文件夹下所有PDF文件的方法
Mar 11 Python
Python中函数的基本定义与调用及内置函数详解
May 13 Python
python查看矩阵的行列号以及维数方式
May 22 Python
python利用os模块编写文件复制功能——copy()函数用法
Jul 13 Python
python将数据插入数据库的代码分享
Aug 16 Python
Python如何批量生成和调用变量
Nov 21 Python
python基于Kivy写一个图形桌面时钟程序
Jan 28 Python
python实现求纯色彩图像的边框
Apr 08 Python
Python echarts实现数据可视化实例详解
Mar 03 Python
python django事务transaction源码分析详解
Mar 17 #Python
Python自动生产表情包
Mar 17 #Python
Python实现的异步代理爬虫及代理池
Mar 17 #Python
Python 专题一 函数的基础知识
Mar 16 #Python
python 专题九 Mysql数据库编程基础知识
Mar 16 #Python
Python实现树莓派WiFi断线自动重连的实例代码
Mar 16 #Python
Windows下安装python MySQLdb遇到的问题及解决方法
Mar 16 #Python
You might like
PHP 执行系统外部命令 system() exec() passthru()
2009/08/11 PHP
PHP+jQuery实现滚屏无刷新动态加载数据功能详解
2017/05/04 PHP
js两行代码按指定格式输出日期时间
2011/10/21 Javascript
javascript date格式化示例
2013/09/25 Javascript
浅谈angularJS 作用域
2015/07/05 Javascript
jQuery实现类似淘宝网图片放大效果的方法
2015/07/08 Javascript
使用jQuery操作HTML的table表格的实例解析
2016/03/13 Javascript
js实现一键复制功能
2017/03/16 Javascript
使用AngularJS2中的指令实现按钮的切换效果
2017/03/27 Javascript
vue如何将v-for中的表格导出来
2018/05/07 Javascript
解决vue v-for 遍历循环时key值报错的问题
2018/09/06 Javascript
谈谈React中的Render Props模式
2018/12/06 Javascript
Vue.js实现的购物车功能详解
2019/01/27 Javascript
微信小程序实现人脸识别登陆的示例代码
2019/04/02 Javascript
三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)
2019/06/21 Javascript
layui框架与SSM前后台交互的方法
2019/09/12 Javascript
比较详细Python正则表达式操作指南(re使用)
2008/09/06 Python
python实现的各种排序算法代码
2013/03/04 Python
Python中Continue语句的用法的举例详解
2015/05/14 Python
python使用xmlrpclib模块实现对百度google的ping功能
2015/06/02 Python
Python有序查找算法之二分法实例分析
2017/12/11 Python
python 制作自定义包并安装到系统目录的方法
2018/10/27 Python
详解python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案
2018/12/02 Python
使用Python 自动生成 Word 文档的教程
2020/02/13 Python
Django 解决新建表删除后无法重新创建等问题
2020/05/21 Python
python Matplotlib模块的使用
2020/09/16 Python
英国经济型酒店品牌:Travelodge
2019/12/17 全球购物
教师党员思想汇报
2014/01/06 职场文书
四风问题自查报告剖析材料
2014/02/08 职场文书
乡镇信息公开实施方案
2014/03/23 职场文书
出国签证在职证明
2014/09/20 职场文书
施工安全协议书范本
2014/09/26 职场文书
幼儿园老师新年寄语2015
2014/12/08 职场文书
Python打包exe时各种异常处理方案总结
2021/05/18 Python
python图片灰度化处理的几种方法
2021/06/23 Python
Vue鼠标滚轮滚动切换路由效果的实现方法
2021/08/04 Vue.js