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监控网卡流量并使用graphite绘图的示例
Apr 27 Python
python正常时间和unix时间戳相互转换的方法
Apr 23 Python
名片管理系统python版
Jan 11 Python
Python实现修改IE注册表功能示例
May 10 Python
python实现京东秒杀功能
Jul 30 Python
Django使用paginator插件实现翻页功能的实例
Oct 24 Python
python多线程并发实例及其优化
Jun 27 Python
解决python flask中config配置管理的问题
Jul 26 Python
python实现粒子群算法
Oct 15 Python
pycharm中leetcode插件使用图文详解
Dec 07 Python
PyTorch中的拷贝与就地操作详解
Dec 09 Python
python 实现德洛内三角剖分的操作
Apr 22 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异常处理技术,顶级异常处理器
2012/06/13 PHP
php中ob_flush函数和flush函数用法分析
2015/03/18 PHP
PHP封装的HttpClient类用法实例
2015/06/17 PHP
php使用Session和文件统计在线人数
2015/07/04 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
2017/07/18 PHP
在laravel中实现将查询的对象转换为多维数组的函数
2019/10/21 PHP
JavaScript 高级篇之函数 (四)
2012/04/07 Javascript
javascript陷阱 一不小心你就中招了(字符运算)
2013/11/10 Javascript
js实现鼠标划过给div加透明度的方法
2015/05/25 Javascript
微信公众号支付H5调用支付解析
2016/11/04 Javascript
vue中$set的使用(结合在实际应用中遇到的坑)
2018/07/10 Javascript
vue实现word,pdf文件的导出功能
2018/07/31 Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
2019/07/24 Javascript
Python中字符串的处理技巧分享
2016/09/17 Python
利用pyinstaller或virtualenv将python程序打包详解
2017/03/22 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
对python3.4 字符串转16进制的实例详解
2019/06/12 Python
python实现两个经纬度点之间的距离和方位角的方法
2019/07/05 Python
django解决订单并发问题【推荐】
2019/07/31 Python
pytorch中获取模型input/output shape实例
2019/12/30 Python
tensorflow实现残差网络方式(mnist数据集)
2020/05/26 Python
Django vue前后端分离整合过程解析
2020/11/20 Python
python中使用asyncio实现异步IO实例分析
2021/02/26 Python
HTML5新增加标签和功能概述
2016/09/05 HTML / CSS
Opodo意大利:欧洲市场上领先的在线旅行社
2019/10/24 全球购物
晚会主持词开场白
2014/03/17 职场文书
手机被没收的检讨书
2014/10/04 职场文书
四风问题对照检查整改措施思想报告
2014/10/05 职场文书
2014年电信员工工作总结
2014/12/19 职场文书
迎新年主持词
2015/07/06 职场文书
幼儿园小班教育随笔
2015/08/14 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书
导游词之镇江-金山寺
2019/10/14 职场文书
Matplotlib绘制混淆矩阵的实现
2021/05/27 Python
Python内置数据类型中的集合详解
2022/03/18 Python
基于PyQt5制作一个群发邮件工具
2022/04/08 Python