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模块给程序计时相关推荐

  1. Python——利用pygame模块制作RPG游戏(一)

    利用pygame模块制作RPG游戏(一) 需要用到的第三方库:pygame 一.构造游戏的基本框架 1.首先准备好相应的游戏素材:背景,人物动作图片,音乐,音效等. 图片均用png格式,音乐音效均用o ...

  2. python利用xlrd模块读取xls表格选中某列提取全部数值,使用re去除英文字母,用ast将str类型转换成list

    python利用xlrd模块读取xls表格选中某列提取全部数值,使用re去除英文字母,用ast将str类型转换成list import ast # 获取xls表中的代码并去重 import xlrd ...

  3. python commands执行不连续_[Python] 利用commands模块执行Linux shell命令

    用Python写运维脚本时,经常需要执行linux shell的命令,Python中的commands模块专门用于调用Linux shell命令,并返回状态和结果,下面是commands模块的3个主要 ...

  4. [转载] Python利用openpyxl模块读取excel文件内容

    参考链接: Python | 使用openpyxl模块调整Excel文件的行和列 import openpyxl wb = openpyxl.load_workbook('原始数据.xlsx') #读 ...

  5. python利用写模块_使用C++编写python扩展模块

    简介 长话短说,这里说的扩展Python功能与直接用其它语言写一个动态链接库,然后让Python来调用有点不一样(虽然本质是一样的).而是指使用Python本身提供的API,使用C++来对Python ...

  6. python利用pyperclip 模块使用计算机的剪贴板

    pyperclip 模块有 copy()和 paste()函数,可以向计算机的剪贴板发送文本,或从它接收文本.将程序的输出发送到剪贴板,使它很容易粘贴到邮件.文字处理程序或其他软件中.pypercli ...

  7. python利用pywin32模块自动化操作微信发消息

    本文是利用python 操作电脑微信发消息,用到win32gui和win32api模块,以便以后忘记,做此纪录! import win32gui import win32api import win3 ...

  8. Python利用pptx模块三步将图片插入特定PPT模板

    任务描述​​​​​​​ 有一个如下图所示的PPT模板,希望将已有的图片以特定的顺序插入到模板占位符中 现有PPT模板 希望的结果 代码演示 import os from os.path import ...

  9. python利用datetime模块计算时间差

    python中通过datetime模块可以很方便的计算两个时间的差,datetime的时间差单位可以是天.小时.秒,甚至是微秒,下面我们就来详细看下datetime的强大功能吧 今天写了点东西,要计算 ...

最新文章

  1. 京东超大规模联邦学习探索实践
  2. Do a test write by windows live writer
  3. Linux搭建SVN(CollabNet Subversion)服务器 可视化界面
  4. bash中通过设置PS1变量改变提示符颜色
  5. 成功解决PermissionError: [Errno 13] Permission denied: './data\\mnist\\train-images-idx3-ubyte'
  6. Fixed Widget侧边固定跟随小工具插件
  7. Zookeeper架构及FastLeaderElection机制
  8. mysql function DATE_FORMA T(date, format)
  9. 错误记录(五)Error creating bean with name 'sessionFactory' defined in file
  10. caffe安装_【开源框架】caffe图像分类从模型自定义到测试
  11. php base64 gzip加密,PHP base64+gzinflate压缩加密和解密算法
  12. 用python实现代码雨(电影黑客帝国里的效果,代码可直接运行)
  13. 最简单的python爬虫案例,适合入门学习
  14. Python自动生成新闻报告
  15. 网上查信用报告,什么是问题验证?
  16. mybatis类型转换器处理PostGis数据库geometry类型转换
  17. Q版京剧脸谱来喽——花旦
  18. 年轻人,你活着不是为了观察K线做布朗运动 ——从“全要素参与分配理论”谈股票市场的赚钱陷阱
  19. java版餐饮管理系统
  20. 01day入学测试总结

热门文章

  1. ApiFox 基本使用教程(浅尝辄止,非广)
  2. 基于matlab的圆偏振光/两相交流电模拟-导出gif
  3. 【小记】每日学习(1)
  4. kali安装Aria2
  5. 打造一个window桌面应用:在线聊天对话机器人
  6. 独立app开发和运行(使用篇)
  7. 版本控制利器——changelog
  8. 数据库自增id没有从0开始
  9. conemu_ConEmu –带选项卡的Windows控制台模拟器
  10. APP上传应用商店加固后打包