Python:timeit库使用方法
Python:timeit库使用方法
timeit库:
timeit库定义了接受两个参数的Timer类。两个参数都是字符串。 第一个参数是要计时的语句或者函数;第二个参数是为第一个参数语句构建环境的导入语句。 从内部讲, timeit 构建起一个独立的虚拟环境, 手工地执行建立语句,然后手工地编译和执行被计时语句。
一旦有了 Timer 对象,最简单的事就是调用 timeit(),它接受一个参数为每个测试中调用被计时语句的次数,默认为一百万次;返回所耗费的秒数。
- Timer 对象的另一个主要方法是 repeat(), 它接受两个可选参数。 第一个参数是重复整个测试的次数,第二个参数是每个测试中调用被计时语句的次数。 两个参数都是可选的,它们的默认值分别是 3 和1000000。 repeat() 方法返回以秒记录的每个测试循环的耗时列表。Python 有一个方便的 min 函数可以把输入的列表返回成最小值,如: min(t.repeat(3, 1000000))
测试一个列表推导式与for循环的时间:
import timeitfoooo = """
sum = []
for i in range(1000):sum.append(i)
"""print(timeit.timeit(stmt="[i for i in range(1000)]", number=100000))
print(timeit.timeit(stmt=foooo, number=100000))# 结果
# 3.0098994999999604
# 5.630418200000008
通过10w次循环,发现使用列表推导式要比正常使用list追加元素会快上近5秒左右,速度快上近三倍。
timeit库抽象出了两个可以直接使用的方法,下面看一下模块里面的代码:
def timeit(stmt="pass", setup="pass", timer=default_timer,number=default_number, globals=None):"""Convenience function to create Timer object and call timeit method."""return Timer(stmt, setup, timer, globals).timeit(number)def repeat(stmt="pass", setup="pass", timer=default_timer,repeat=default_repeat, number=default_number, globals=None):"""Convenience function to create Timer object and call repeat method."""return Timer(stmt, setup, timer, globals).repeat(repeat, number)
测试一个函数的执行时间:
from timeit import timeitdef func():s = 0for i in range(1000):s += iprint(s)# timeit(函数名_字符串,运行环境_字符串,number=运行次数)
t = timeit('func()', 'from __main__ import func', number=1000)
print(t)
由于电脑永远都有其他程序也在占用着资源,程序不可能最高效的执行。所以一般都会进行多次试验,取最少的执行时间为真正的执行时间。
from timeit import repeatdef func():s = 0for i in range(1000):s += i#repeat和timeit用法相似,多了一个repeat参数,表示重复测试的次数(可以不写,默认值为3.),返回值为一个时间的列表。
t = repeat('func()', 'from __main__ import func', number=100, repeat=5)
print(t)
print(min(t))
Python:timeit库使用方法相关推荐
- Python timeit库测试代码片段运行时间
timeit库文档:https://docs.python.org/zh-cn/3/library/timeit.html timeit 是一个用来测量小代码片段执行时间的工具库,有命令行和函数调用两 ...
- python第三方库安装方法-Python第三方库安装
Python有一个全球社区:https://pypi.org/,在这里我们可以搜索任何主题的Python第三方库.PyPI全称是Python Package Index,指的是Python包的索引,它 ...
- python3库下载_下载安装Python第三方库的方法,最全方式,值得收藏
一.利用Python中的pip进行第三方库的下载 首先我们要搞清楚Python中的pip是个什么东东?pip是一个安装和管理 Python包的工具,可以对python的包进行管理和升级等操作. 具体的 ...
- 最全总结Python 第三方库安装方法
下面将自己学习过程中总结的Python第三方库的安装常用三种方法分享给大家,本人推荐前面两种方式.(已安装Python) 方法一:pip命令行直接安装 打开cmd命令窗口,通过命令 pip insta ...
- python records 库使用方法
records 库由大名鼎鼎的 Kenneth Reitz 开发,他也是 python requests 库的作者.records 模块的口号是 SQL for the human.开发人员基本只需要 ...
- python代码需要背吗-Python 的库、方法这么多,写程序的时候能记住吗?
能 -- 这就是平时的工作方式.vim写python,没安装其他插件,但有自己的配置文件. 常见的项目所常用的函数很难超过50个.大量的业务函数一旦被写出来就是负责直接处理业务,而不会被其他部分调用, ...
- Python 安装库的方法及解决pip 安装时速度缓慢的方法
pip安装: pip是python内置的非常好用的下载工具,基本可以下载全部的python库. pip 是 Python 库管理工具,该工具提供了对Python 库的查找.下载.安装.卸载的功能. p ...
- python安装库的方法linalg_Python linalg.gmres方法代码示例
本文整理汇总了Python中scipy.sparse.linalg.gmres方法的典型用法代码示例.如果您正苦于以下问题:Python linalg.gmres方法的具体用法?Python lina ...
- 安装python扩展库时只能使用pip_使用pip安装Python扩展库的方法
本文节选自作者的<Python编程基础及应用>视频教程.Python编程基础及应用_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com 使用pip进行安装 ...
最新文章
- iOS游戏开发教程资源
- 排序算法时间复杂度和稳定性
- java日志与业务分离_java日志分开打印
- CentOS6.2安装LAMP+DRUPAL网站(1)
- 任正非:华为云不能简单模仿阿里、亚马逊,要有所为有所不为|CEO说
- c语言编写生日祝福语大全,C++求高手帮忙写个程序...输出“生日快乐”四个字..用符号拼出来..谢谢啦...
- Mac 技术篇-搜狗输入法英文首字母自动大小写设置,mac系统首字母自动大小写设置
- human pose estimation期刊简单汇总
- arcgis api for javascript4.18加载天地图服务,并且加载自己的发布的动态地图服务
- 指针的形式与动态存储分配
- 搭建自己的简易服务器(公网)
- OWASP ZAP安装kali
- C语言求1000以内的所有水仙花数
- Python如何将仅包含音频内容的Mp4,提取并转换为Mp3
- 手写数字的识别分类+技术总结
- 233网校题库数据提取分析
- 智能手环一些模块总结
- 全志A83T芯片开发资料汇总分享(datasheet,sdk,量产工具)
- 数据库导入Excel表格
- 装修必看丨超详细省钱装修干货!