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自动化测试之从命令行运行测试用例with verbosity
Sep 28 Python
Python基于pygame实现的弹力球效果(附源码)
Nov 11 Python
简单谈谈python的反射机制
Jun 28 Python
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
May 08 Python
tensorflow输出权重值和偏差的方法
Feb 10 Python
win10下tensorflow和matplotlib安装教程
Sep 19 Python
详解python项目实战:模拟登陆CSDN
Apr 04 Python
Pycharm创建项目时如何自动添加头部信息
Nov 14 Python
Python之——生成动态路由轨迹图的实例
Nov 22 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
Dec 09 Python
解决Pycharm的项目目录突然消失的问题
Jan 20 Python
Python unittest单元测试openpyxl实现过程解析
May 27 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文件读写操作之文件写入代码
2011/01/13 PHP
Views rows style模板重写代码
2011/05/16 PHP
php获取远程文件大小
2015/10/20 PHP
django中的ajax组件教程详解
2018/10/18 PHP
PHP常用函数之获取汉字首字母功能示例
2019/10/21 PHP
javascript编程起步(第七课)
2007/02/27 Javascript
使用prototype.js 的时候应该特别注意的几个问题.
2007/04/12 Javascript
ie 调试javascript的工具
2009/04/29 Javascript
event.srcElement 用法笔记e.target
2009/12/18 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
2011/03/03 Javascript
js实时获取系统当前时间实例代码
2013/06/28 Javascript
Jquery中val()表单取值赋值的实例代码
2013/08/15 Javascript
javascript移出节点removeChild()使用介绍
2014/04/03 Javascript
基于Jquery实现键盘按键监听
2014/05/11 Javascript
轻松掌握JavaScript中介者模式
2016/08/26 Javascript
关于Vue.js一些问题和思考学习笔记(1)
2016/12/02 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
2017/02/27 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
2017/03/28 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
2018/04/09 Javascript
vue 点击按钮实现动态挂载子组件的方法
2018/09/07 Javascript
微信小程序开发之路由切换页面重定向问题
2018/09/18 Javascript
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
2019/09/28 Javascript
vue $set 给数据赋值的实例
2019/11/09 Javascript
Python 加密与解密小结
2018/12/06 Python
捷克家居装饰及图书音像购物网站:Velký košík
2018/04/16 全球购物
Ever New加拿大官网:彰显女性美
2018/10/05 全球购物
《童年的发现》教学反思
2014/02/14 职场文书
电钳工人个人求职信
2014/05/10 职场文书
小学网上祭英烈活动总结
2014/07/05 职场文书
大学生个人求职信例文
2014/07/07 职场文书
单位委托书范本(3篇)
2014/09/18 职场文书
2014广电局实施党的群众路线教育实践活动方案思想汇报
2014/09/22 职场文书
接待员岗位职责范本
2015/04/15 职场文书
安全责任协议书范本
2016/03/23 职场文书
go开发alertmanger实现钉钉报警
2021/07/16 Golang
nginx中封禁ip和允许内网ip访问的实现示例
2022/03/17 Servers