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 相关文章推荐
举例详解Python中循环语句的嵌套使用
May 14 Python
Python编码类型转换方法详解
Jul 01 Python
Python实现 多进程导入CSV数据到 MySQL
Feb 26 Python
深入浅出学习python装饰器
Sep 29 Python
python OpenCV学习笔记之绘制直方图的方法
Feb 08 Python
基于python进行桶排序与基数排序的总结
May 29 Python
django用户登录和注销的实现方法
Jul 16 Python
Python os.access()用法实例
Feb 18 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
May 28 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
Jan 10 Python
浅谈python3 构造函数和析构函数
Mar 12 Python
Python3读写ini配置文件的示例
Nov 06 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
PHP 和 MySQL 开发的 8 个技巧
2007/01/02 PHP
php生成xml简单实例代码
2009/12/16 PHP
php的memcached客户端memcached
2011/06/14 PHP
百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome
2010/04/13 Javascript
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
2011/11/14 Javascript
JavaScript插件化开发教程 (一)
2015/01/27 Javascript
jquery模拟alert的弹窗插件
2015/07/31 Javascript
jQuery实现仿QQ头像闪烁效果的文字闪动提示代码
2015/11/03 Javascript
AngularJS Bootstrap详细介绍及实例代码
2016/07/28 Javascript
javascript 动态脚本添加的简单方法
2016/10/11 Javascript
jquery实现回车键触发事件(实例讲解)
2017/11/21 jQuery
js原生实现移动端手指滑动轮播图效果的示例
2018/01/02 Javascript
js canvas实现画图、滤镜效果
2018/11/27 Javascript
vue项目中mock.js的使用及基本用法
2019/05/22 Javascript
js实现百度登录窗口拖拽效果
2020/03/19 Javascript
javascript 使用sleep函数的常见方法详解
2020/04/26 Javascript
JavaScript设计模式--桥梁模式引入操作实例分析
2020/05/23 Javascript
JavaScript编写开发动态时钟
2020/07/29 Javascript
jquery轮播图插件使用方法详解
2020/07/31 jQuery
浅谈Python生成器generator之next和send的运行流程(详解)
2017/05/08 Python
python 运用Django 开发后台接口的实例
2018/12/11 Python
对Django 转发和重定向的实例详解
2019/08/06 Python
python Kmeans算法原理深入解析
2019/08/23 Python
新加坡第一大健康与美容零售商:屈臣氏新加坡(Watsons Singapore)
2020/12/11 全球购物
存储过程的优点有哪些
2012/09/27 面试题
教师自我评价范例
2013/09/24 职场文书
财务主管的岗位职责
2013/12/30 职场文书
物控部经理职务说明书
2014/02/25 职场文书
赞美老师的演讲稿
2014/05/22 职场文书
最常使用的求职信
2014/05/25 职场文书
教师专业自荐信
2014/05/31 职场文书
2015年环境监察工作总结
2015/07/23 职场文书
分家协议书范本
2016/03/22 职场文书
如何给HttpServletRequest增加消息头
2021/06/30 Java/Android
Java 在生活中的 10 大应用
2021/11/02 Java/Android
python如何查找列表中元素的位置
2022/05/30 Python