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 27 Python
python 判断是否为正小数和正整数的实例
Jul 23 Python
Django项目中model的数据处理以及页面交互方法
May 30 Python
根据DataFrame某一列的值来选择具体的某一行方法
Jul 03 Python
Win8下python3.5.1安装教程
Jul 29 Python
基于python实现学生管理系统
Oct 17 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
Oct 14 Python
python随机数分布random均匀分布实例
Nov 27 Python
TensorFlow 显存使用机制详解
Feb 03 Python
Python 测试框架unittest和pytest的优劣
Sep 26 Python
基于Python的身份证验证识别和数据处理详解
Nov 14 Python
python 操作excel表格的方法
Dec 05 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
PHP 中的类
2006/10/09 PHP
php实现用于计算执行时间的类实例
2015/04/18 PHP
PHP文件缓存smarty模板应用实例分析
2016/02/26 PHP
PHP创建自己的Composer包方法
2018/04/09 PHP
PHP使用XMLWriter读写xml文件操作详解
2018/07/31 PHP
PHP html_entity_decode()函数讲解
2019/02/25 PHP
Laravel如何自定义command命令浅析
2019/03/23 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
jquery实现当滑动到一定位置时固定效果
2014/06/17 Javascript
Javascript学习笔记之 函数篇(二) : this 的工作机制
2014/06/24 Javascript
JS 使用for循环遍历子节点查找元素
2014/09/06 Javascript
javaScript中with函数用法实例分析
2015/06/08 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
2017/10/26 Javascript
JS实现HTML页面中动态显示当前时间完整示例
2018/07/30 Javascript
Nodejs调用Dll模块的方法
2018/09/17 NodeJs
webpack 最佳配置指北(推荐)
2020/01/07 Javascript
Vue使用Proxy代理后仍无法生效的解决
2020/11/13 Javascript
[06:14]《辉夜杯》外卡赛附加赛 4支战队巡礼
2015/10/23 DOTA
Django的分页器实例(paginator)
2017/12/01 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
基于PyQt4和PySide实现输入对话框效果
2019/02/27 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
使用PyCharm官方中文语言包汉化PyCharm
2020/11/18 Python
Html5页面点击遮罩层背景关闭遮罩层
2020/11/30 HTML / CSS
斐乐美国官方网站:FILA美国
2019/03/01 全球购物
学生自我鉴定
2013/12/18 职场文书
党员思想汇报范文
2013/12/30 职场文书
关于赌博的检讨书
2014/01/24 职场文书
餐饮总经理岗位职责
2014/03/07 职场文书
鉴定评语大全
2014/05/05 职场文书
领导班子群众路线与四风问题对照检查材料思想汇报
2014/10/11 职场文书
2014年医院科室工作总结
2014/12/20 职场文书
八一建军节慰问信
2015/02/14 职场文书
党务工作者主要事迹材料
2015/11/03 职场文书
关于战胜挫折的名言警句大全!
2019/07/05 职场文书
MySQL事务的ACID特性以及并发问题方案
2022/07/15 MySQL