python time模块中:time.time()与time.clock()的区别
在统计python代码 执行速度时要使用到time包,在查找相关函数时有time.time()和time.clock()两个函数可供选择。而两者是有区别的:
cpu 的运行机制:cpu是多任务的,例如在多进程的执行过程中,一段时间内会有对各进程被处理。一个进程从开始到结束其实是在这期间的一些列时间片断上断断续续执行的。所以这就引出了程序执行的cpu时间(该程序单纯在cpu上运行所需时间)和墙上时钟wall time。
time.time()是统计的wall time(即墙上时钟),也就是系统时钟的时间戳(1970纪元后经过的浮点秒数)。所以两次调用的时间差即为系统经过的总时间。
time.clock()是统计cpu时间 的工具,这在统计某一程序或函数的执行速度最为合适。两次调用time.clock()函数的差值即为程序运行的cpu时间。
import timedef test():a = 0for i in range(1,10000):a *=it0 = time.time()
t1 = time.clock()
test()
t_0 = time.time()
t_1 = time.clock()
print('系统时间:',t_0-t0)
print('CPU时间:',t_1-t1)
运行结果:
系统时间: 0.0005710124969482422
CPU时间: 0.000563000000000001
可以发现,CPU时间比系统时间短,这是合理的,系统时间包含CPU时间,需要指出的是,程序运行期间的等待时间是不计算在CPU时间内的,如下:
'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import timedef test():a = 0for i in range(1,10000):a *=it0 = time.time()
t1 = time.clock()
test()
time.sleep(2)
t_0 = time.time()
t_1 = time.clock()
print('系统时间:',t_0-t0)
print('CPU时间:',t_1-t1)
运行结果:
系统时间: 2.0023741722106934
CPU时间: 0.0005949999999999983
python time模块中:time.time()与time.clock()的区别相关推荐
- python re search match_简诉Python Re模块中re.search和re.match的区别
先前的两篇文章<python re.match函数是什么,了解python match函数的使用>,<Python中的python re.search方法详解>,我们介绍了Py ...
- Python hashlib模块中的sha加密
Python hashlib模块中的sha加密 一.sha简介 sha (Secure Hash Algorithm)模块与md5的作用相似,用于对信息进行加密. "Secure Hash ...
- python导入模块中的对象_详解Python项目开发时自定义模块中对象的导入和使用
背景:1)任何一个Python程序文件既可以直接执行,也可以作为模块导入再使用其中的对象:2)对于大型系统开发,一般不会把所有代码放到单个文件中,而是根据功能将其分类并分散多个模块中,在编写小型项目时 ...
- python定义类()中写object和不写的区别
python定义类()中写object和不写的区别 这里需要说明一下: python3中,类定义默认继承object,所以写不写没有区别 但在python2中,并不是这样 所以此内容是针对python ...
- python paramiko模块中设置执行命令超时值
经常使用paramiko工具对几百台设备进行管理,但是由于服务器本身或是网络原因,有时返回值回不来,然后程序就看在那里一直等待,这个时候后需要设置一个超时值.paramiko模块中执行命令代码如下: ...
- python 导入模块中的命令
首先导入模块中的命令可以做什么?为什么要导入 好------------------------------- 在我们没有导入模块中的命令时要使用某个模块中的一个命令需要首先将模块名加上,如下 比如查 ...
- Python re 模块中,如何使用反斜杠 “\“分割字符串?
Python 语言使用反斜杠(\)作为转义符,对一些字符进行转义(escape),例如 "\n" "\r\n" 等.所以当 Python 字符串中如果出现反斜杠 ...
- python c cmd_在Python cmd模块中处理CTRL-C
我发现了一些使用Ctrl-C实现所需行为的hacky方法. 设置use_rawinput = False并替换stdin 这个(或多或少--)粘在cmd.Cmd的公共接口上.不幸的是,它禁用了read ...
- Python使用模块中对象的几种方法
Python默认安装仅包含部分基本或核心模块,启动时也仅加载了基本模块,在需要时再显式地加载(有些模块可能需要先安装)其他模块,这样可以减小程序运行的压力,且具有很强的可扩展性.Python中导入模块 ...
- python random模块中的指令_python中random模块的使用
这些方法位于random模块中 random.random(),同javascript的Math.random(),返回[0.0,1)之间的浮点数 random.uniform(a, b),返回[a, ...
最新文章
- 二叉树简介及C++实现
- 二分 + 模拟 - Carries
- asp.net 备份和恢复SQL SERVER 数据库
- http http应用
- awstats 安装与配置
- FaceNet--Google的人脸识别
- 大话数据结构与算法:基础篇
- man-翻译和epoll相关的内容,部分
- 数据库的dml、ddl和dcl的概念
- 优酷下载的视频保存在哪里
- 眼坐标系和世界坐标系的相互转换
- rest接口webservice接口利用http请求方式发送数据
- Yii2中Component和Object的使用方法
- CF984B Minesweeper
- 信息技术 用计算机做科学实验报告,8.用计算机做科学实验.doc
- CSS中vertical-align和text-align属性详解(使用场景、举例、注意点)、display:table-cell使用详解(基础介绍和使用例子)。
- 用html写游戏,Html5写一个简单的俄罗斯方块小游戏
- canvas绘制太极图
- 《程序员》6月精彩内容:物联网开发技术栈
- 当遇到error: stray ‘\241‘ in program错误的解决方法