python 利用time模块给程序计时
python的time内置模块是一个与时间相关的内置模块,很多人喜欢用time.time()获取当前时间的时间戳,利用程序前后两个时间戳的差值计算程序的运行时间,如下:
1.使用time.time()
import time
T1 = time.time()#______假设下面是程序部分______
for i in range(100*100):passT2 = time.time()
print('程序运行时间:%s毫秒' % ((T2 - T1)*1000))
# 程序运行时间:0.0毫秒
不要以为你的处理器很厉害,就忽视了一个问题,一万次遍历,时间为0.0毫秒?
下面解决上面的质疑,
2.使用time.clock()
Python time clock() 函数以浮点数计算的秒数返回当前的CPU时间。用来衡量不同程序的耗时,比time.time()更有用。
这个需要注意,在不同的系统上含义不同。在UNIX系统上,它返回的是"进程时间",它是用秒表示的浮点数(时间戳)。而在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用是自第一次调用以后到现在的运行时间。(实际上是以WIN32上QueryPerformanceCounter()为基础,它比毫秒表示更为精确)
使用time.clock()更改后的程序查看一下:
import platform
print('系统:',platform.system())import time
T1 = time.clock()#______假设下面是程序部分______
for i in range(100*100):passT2 =time.clock()
print('程序运行时间:%s毫秒' % ((T2 - T1)*1000))
# 程序运行时间:0.27023641716203606毫秒
3.使用time.perf_counter()
返回性能计数器的值(以微秒为单位,1秒=1000毫秒;1毫秒=1000微秒)作为浮点数,即具有最高可用分辨率的时钟,以测量短持续时间。它包括在睡眠期间和系统范围内流逝的时间。返回值的参考点未定义,因此只有连续调用结果之间的差异有效。
1秒 = 1000毫秒
1毫秒 = 1000微秒
1微秒 = 1000纳秒
1纳秒 = 1000皮秒
import platform
print('系统:',platform.system())import time
T1 = time.perf_counter()#______假设下面是程序部分______
for i in range(100*100):passT2 =time.perf_counter()
print('程序运行时间:%s毫秒' % ((T2 - T1)*1000))
# 系统: Windows
# 程序运行时间:0.3007180604248629毫秒
4.使用time.process_time()
返回当前进程的系统和用户CPU时间总和的值(以小数微秒为单位)作为浮点数。
通常time.process_time()也用在测试代码时间上,根据定义,它在整个过程中。返回值的参考点未定义,因此我们测试代码的时候需要调用两次,做差值。
注意process_time()不包括sleep()休眠时间期间经过的时间。
import platform
print('系统:',platform.system())import time
T1 = time.process_time()#______假设下面是程序部分______
for i in range(100*100):passT2 =time.process_time()
print('程序运行时间:%s毫秒' % ((T2 - T1)*1000))
# 系统: Windows
# 程序运行时间:0.0毫秒
写在最后:
建议PC上使用time.perf_counter() 来计算程序的运算时间,特别是测试算法在相邻两帧的处理时间,如果计算不准确,那可能会对算法的速度过于自信。
尤其在嵌入式的板子的开发中,性能的测试中,请仔细选择时间模块,比如某些嵌入式板子会封装专门的模块。
python 利用time模块给程序计时相关推荐
- Python——利用pygame模块制作RPG游戏(一)
利用pygame模块制作RPG游戏(一) 需要用到的第三方库:pygame 一.构造游戏的基本框架 1.首先准备好相应的游戏素材:背景,人物动作图片,音乐,音效等. 图片均用png格式,音乐音效均用o ...
- python利用xlrd模块读取xls表格选中某列提取全部数值,使用re去除英文字母,用ast将str类型转换成list
python利用xlrd模块读取xls表格选中某列提取全部数值,使用re去除英文字母,用ast将str类型转换成list import ast # 获取xls表中的代码并去重 import xlrd ...
- python commands执行不连续_[Python] 利用commands模块执行Linux shell命令
用Python写运维脚本时,经常需要执行linux shell的命令,Python中的commands模块专门用于调用Linux shell命令,并返回状态和结果,下面是commands模块的3个主要 ...
- [转载] Python利用openpyxl模块读取excel文件内容
参考链接: Python | 使用openpyxl模块调整Excel文件的行和列 import openpyxl wb = openpyxl.load_workbook('原始数据.xlsx') #读 ...
- python利用写模块_使用C++编写python扩展模块
简介 长话短说,这里说的扩展Python功能与直接用其它语言写一个动态链接库,然后让Python来调用有点不一样(虽然本质是一样的).而是指使用Python本身提供的API,使用C++来对Python ...
- python利用pyperclip 模块使用计算机的剪贴板
pyperclip 模块有 copy()和 paste()函数,可以向计算机的剪贴板发送文本,或从它接收文本.将程序的输出发送到剪贴板,使它很容易粘贴到邮件.文字处理程序或其他软件中.pypercli ...
- python利用pywin32模块自动化操作微信发消息
本文是利用python 操作电脑微信发消息,用到win32gui和win32api模块,以便以后忘记,做此纪录! import win32gui import win32api import win3 ...
- Python利用pptx模块三步将图片插入特定PPT模板
任务描述 有一个如下图所示的PPT模板,希望将已有的图片以特定的顺序插入到模板占位符中 现有PPT模板 希望的结果 代码演示 import os from os.path import ...
- python利用datetime模块计算时间差
python中通过datetime模块可以很方便的计算两个时间的差,datetime的时间差单位可以是天.小时.秒,甚至是微秒,下面我们就来详细看下datetime的强大功能吧 今天写了点东西,要计算 ...
最新文章
- 京东超大规模联邦学习探索实践
- Do a test write by windows live writer
- Linux搭建SVN(CollabNet Subversion)服务器 可视化界面
- bash中通过设置PS1变量改变提示符颜色
- 成功解决PermissionError: [Errno 13] Permission denied: './data\\mnist\\train-images-idx3-ubyte'
- Fixed Widget侧边固定跟随小工具插件
- Zookeeper架构及FastLeaderElection机制
- mysql function DATE_FORMA T(date, format)
- 错误记录(五)Error creating bean with name 'sessionFactory' defined in file
- caffe安装_【开源框架】caffe图像分类从模型自定义到测试
- php base64 gzip加密,PHP base64+gzinflate压缩加密和解密算法
- 用python实现代码雨(电影黑客帝国里的效果,代码可直接运行)
- 最简单的python爬虫案例,适合入门学习
- Python自动生成新闻报告
- 网上查信用报告,什么是问题验证?
- mybatis类型转换器处理PostGis数据库geometry类型转换
- Q版京剧脸谱来喽——花旦
- 年轻人,你活着不是为了观察K线做布朗运动 ——从“全要素参与分配理论”谈股票市场的赚钱陷阱
- java版餐饮管理系统
- 01day入学测试总结