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 网络编程起步(Socket发送消息)
Sep 06 Python
python的id()函数解密过程
Dec 25 Python
python读取二进制mnist实例详解
May 31 Python
Python中XlsxWriter模块简介与用法分析
Apr 24 Python
多个应用共存的Django配置方法
May 30 Python
Python+pyplot绘制带文本标注的柱状图方法
Jul 08 Python
Python3操作Excel文件(读写)的简单实例
Sep 02 Python
python Shapely使用指南详解
Feb 18 Python
python 获取当前目录下的文件目录和文件名实例代码详解
Mar 10 Python
Python 统计位数为偶数的数字代码详解
Mar 15 Python
python爬取豆瓣电影排行榜(requests)的示例代码
Feb 18 Python
浅谈Python列表嵌套字典转化的问题
Apr 07 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 5.3.0 安装分析心得
2009/08/07 PHP
探讨PHP JSON中文乱码的解决方法详解
2013/06/06 PHP
ThinkPHP打水印及设置水印位置的方法
2016/10/14 PHP
PHP 信号管理知识整理汇总
2017/02/19 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
2019/09/12 PHP
一直复略了的一个问题,关于表单重复提交
2007/02/15 Javascript
jQuery实现表单input中提示文字value随鼠标焦点移进移出而显示或隐藏的代码
2010/03/21 Javascript
JavaScript的继承的封装介绍
2013/10/15 Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
2015/09/30 Javascript
JavaScript快速切换繁体中文和简体中文的方法及网站支持简繁体切换的绝招
2016/03/07 Javascript
在Web项目中引入Jquery插件报错的完美解决方案(图解)
2016/09/19 Javascript
详解handlebars+require基本使用方法
2016/12/21 Javascript
原生JS实现循环Nodelist Dom列表的4种方式示例
2018/02/11 Javascript
详解从0开始搭建微信小程序(前后端)的全过程
2019/04/15 Javascript
angula中使用iframe点击后不执行变更检测的问题
2020/05/10 Javascript
Javascript实现简易天数计算器
2020/05/18 Javascript
vue 监听窗口变化对页面部分元素重新渲染操作
2020/07/28 Javascript
[40:57]TI4 循环赛第二日 iG vs EG
2014/07/11 DOTA
[01:02:00]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第三场 1月24日
2021/03/11 DOTA
python计算牛顿迭代多项式实例分析
2015/05/07 Python
Python学习笔记之解析json的方法分析
2017/04/21 Python
python3+mysql查询数据并通过邮件群发excel附件
2018/02/24 Python
Python迭代器模块itertools使用原理解析
2019/12/11 Python
浅析pip安装第三方库及pycharm中导入第三方库的问题
2020/03/10 Python
如何基于Django实现上下文章跳转
2020/09/16 Python
scrapy头部修改的方法详解
2020/12/06 Python
英国户外玩具儿童游乐设备网站:TP Toys(蹦床、攀爬框架、秋千、滑梯和游戏屋)
2018/04/09 全球购物
电脑销售顾问自荐信
2014/01/29 职场文书
工作证明格式及范本
2014/09/12 职场文书
领导干部作风建设剖析材料
2014/10/11 职场文书
上班迟到检讨书300字
2014/10/18 职场文书
教师群众路线教育实践活动学习笔记
2014/11/05 职场文书
大专护理专业自荐信
2015/03/25 职场文书
小学语文教师研修日志
2015/11/13 职场文书
煤矿安全学习心得体会
2016/01/18 职场文书
2017新年晚会开幕词
2016/03/03 职场文书