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求素数示例分享
Feb 16 Python
Python collections模块实例讲解
Apr 07 Python
python的tkinter布局之简单的聊天窗口实现方法
Sep 03 Python
python爬取51job中hr的邮箱
May 14 Python
利用Python生成文件md5校验值函数的方法
Jan 10 Python
Python字典实现简单的三级菜单(实例讲解)
Jul 31 Python
python判断字符串是否是json格式方法分享
Nov 07 Python
python石头剪刀布小游戏(三局两胜制)
Jan 20 Python
python实现AES加密与解密
Mar 28 Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
Sep 17 Python
Django+Celery实现动态配置定时任务的方法示例
May 26 Python
Python编写memcached启动脚本代码实例
Aug 14 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
Yii框架关联查询with用法分析
2014/12/02 PHP
简单了解将WordPress中的工具栏移到底部的小技巧
2015/12/31 PHP
PHP保存session到memcache服务器的方法
2016/01/19 PHP
php简单统计中文个数的方法
2016/09/30 PHP
php使用正则表达式去掉html中的注释方法
2016/11/03 PHP
Linux平台PHP5.4设置FPM线程数量的方法
2016/11/09 PHP
用html5 js实现点击一个按钮达到浏览器全屏效果
2014/05/28 Javascript
jQuery+PHP实现动态数字展示特效
2015/03/14 Javascript
webpack中引用jquery的简单实现
2016/06/08 Javascript
SpringMVC+bootstrap table实例详解
2017/06/02 Javascript
vue.js组件之间传递数据的方法
2017/07/10 Javascript
JS实现简单的抽奖转盘效果示例
2019/02/16 Javascript
vue通过v-html指令渲染的富文本无法修改样式的解决方案
2020/05/20 Javascript
使用jQuery实现购物车
2020/10/29 jQuery
[48:48]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python获取图片颜色信息的方法
2015/03/18 Python
Python3中多线程编程的队列运作示例
2015/04/16 Python
linux环境下的python安装过程图解(含setuptools)
2017/11/22 Python
Django中Forms的使用代码解析
2018/02/10 Python
django做form表单的数据验证过程详解
2019/07/26 Python
python 解决print数组/矩阵无法完整输出的问题
2020/02/19 Python
python如何判断IP地址合法性
2020/04/05 Python
python如何获得list或numpy数组中最大元素对应的索引
2020/11/16 Python
CSS3教程(5):网页背景图片
2009/04/02 HTML / CSS
兰芝美国网上商城:购买LANEIGE睡眠面膜等
2017/06/30 全球购物
英国团购网站:Groupon英国
2017/11/28 全球购物
马来西亚最热门的在线时尚商店:FashionValet
2018/11/11 全球购物
JAVA和C++区别都有哪些
2015/03/30 面试题
家长学校实施方案
2014/03/15 职场文书
2014年毕业演讲稿范文
2014/05/13 职场文书
自荐信格式范文
2015/03/04 职场文书
2015年社区综治宣传月活动总结
2015/03/25 职场文书
考博导师推荐信范文
2015/03/27 职场文书
2016大学迎新晚会开场白
2015/11/24 职场文书
六年级作文之关于梦
2019/10/22 职场文书
Python实现列表拼接和去重的三种方式
2021/07/02 Python