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实现的飞速中文网小说下载脚本
Apr 23 Python
Java多线程编程中ThreadLocal类的用法及深入
Jun 21 Python
遗传算法之Python实现代码
Oct 10 Python
python操作excel的方法(xlsxwriter包的使用)
Jun 11 Python
python实现linux下抓包并存库功能
Jul 18 Python
Django JWT Token RestfulAPI用户认证详解
Jan 23 Python
python实现QQ批量登录功能
Jun 19 Python
python创建属于自己的单词词库 便于背单词
Jul 30 Python
Python笔记之工厂模式
Nov 20 Python
python计算auc的方法
Sep 09 Python
提高python代码运行效率的一些建议
Sep 29 Python
python 图像增强算法实现详解
Jan 24 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
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
2014/06/05 PHP
PHP实现转盘抽奖算法分享
2020/04/15 PHP
Javascript 兼容firefox的一些问题
2009/05/21 Javascript
新浪微博字数统计 textarea字数统计实现代码
2011/08/28 Javascript
js点击页面其它地方将某个显示的DIV隐藏
2012/07/12 Javascript
循环 vs 递归浅谈
2013/02/28 Javascript
面向切面编程(AOP)的理解
2015/05/01 Javascript
JavaScript中日期的相关操作方法总结
2015/10/24 Javascript
jquery实现全屏滚动
2015/12/28 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
Vue数据驱动模拟实现2
2017/01/11 Javascript
js实现弹窗暗层效果
2017/01/16 Javascript
基于pako.js实现gzip的压缩和解压功能示例
2017/06/13 Javascript
基于vue,vue-router, vuex及addRoutes进行权限控制问题
2018/05/02 Javascript
JS实现的自定义map方法示例
2019/05/17 Javascript
[00:47]DOTA2荣耀之路6:玩不了啦!
2018/05/30 DOTA
[01:12:40]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第三场 1月25日
2021/03/11 DOTA
在Django框架中设置语言偏好的教程
2015/07/27 Python
python正则实现提取电话功能
2018/02/24 Python
单利模式及python实现方式详解
2018/03/20 Python
Python递归函数实例讲解
2019/02/27 Python
详解小白之KMP算法及python实现
2019/04/04 Python
python爬虫项目设置一个中断重连的程序的实现
2019/07/26 Python
利用pytorch实现对CIFAR-10数据集的分类
2020/01/14 Python
解决ROC曲线画出来只有一个点的问题
2020/02/28 Python
奥地利顶级内衣丝袜品牌英国站:Wolford英国
2016/08/29 全球购物
番木瓜健康和保健产品第一大制造商:Herbal Papaya
2017/04/25 全球购物
美国用餐电影院:Alamo Drafthouse Cinema
2020/01/23 全球购物
音乐专业应届生教师求职信
2013/11/04 职场文书
公司年会演讲稿范文
2014/01/11 职场文书
小学家长会邀请函
2014/01/23 职场文书
你的创业计划书怎样才能打动风投
2014/02/06 职场文书
事务机电主管工作职责
2014/02/25 职场文书
职称评定自我鉴定
2014/03/18 职场文书
小班下学期个人总结
2015/02/12 职场文书
民事纠纷协议书
2016/03/23 职场文书