python运行时间计算之timeit
timeit.timeit(stmt='pass', setup='pass', timer=<default timer>, number=1000000)
stmt:statement,即使要执行的东西
setup:赋值予stmt中某些不明确的变量对象,如果stmt已经足够明确了,那就可以省略
timer:
number:运行的次数
e.g1:setup是如何用的
>>> import timeit
>>> timeit.timeit('char in text', setup=' text = "sample string"; char = "g" ') #此地就是setup分别对stmt中的char与text两个变量赋予了值,注意,多附值语句用’;‘相隔
0.41440500499993504
>>> timeit.timeit('text.find(char)', setup=' text = "sample str"; char = "g" ')
1.7246671520006203
e.g2:如何运行一段字符串型代码
>>> s = """\
... try:
... str.__bool__
... except AttributeError:
... pass
... """
>>> timeit.timeit(stmt=s, number=100000)
0.9138244460009446
>>> s = "if hasattr(str, '__bool__'): pass"
>>> timeit.timeit(stmt=s, number=100000)
0.5829014980008651
e.g3:如何运行函数以及类的方法
运行函数:
IDE中:
s="""
def multinumber(a,b):
return a*b
"""
print( timeit.timeit('multinumber(3,4)', setup= s) )
命令行中:
>>> timeit.timeit( "f()" , """
... def f():
... pass
... """ )
0.13721893899491988
运行类方法:
IDE中:
s="""
class SomeClass:
def method(self):
pass
""" print(timeit.timeit( "SomeClass().method", s ))
命令行中:
>>> timeit.timeit( "obj.method()", """
... class SomeClass:
... def method(self):
... pass
... obj= SomeClass() #注,此setip中即完成了类定义,还完成了赋值
""")
0.1980541350058047
其中用的最多应该就是.eg3了,因为大量情况下我们需要用它来看一个函数的运行时间,或者是用类实现了一种数据结构类型,查看其各种方法的时间
python运行时间计算之timeit的更多相关文章
- 计算Python运行时间
可以调用datetime 或者 time库实现得到Python运行时间 方法1 import datetime start_t = datetime.datetime.now() #运行大型代码 e ...
- python之lambda,random,timeit,collections,
python之lambda,random,timeit,collections,一. python之lambda函数lambda函数又称为匿名函数,匿名函数就是没有函数名的函数.>>> ...
- windows下安装python科学计算环境,numpy scipy scikit ,matplotlib等
安装matplotlib: pip install matplotlib 背景: 目的:要用Python下的DBSCAN聚类算法. scikit-learn 是一个基于SciPy和Numpy的开源机器 ...
- Python TF-IDF计算100份文档关键词权重
上一篇博文中,我们使用结巴分词对文档进行分词处理,但分词所得结果并不是每个词语都是有意义的(即该词对文档的内容贡献少),那么如何来判断词语对文档的重要度呢,这里介绍一种方法:TF-IDF. 一,TF- ...
- Python科学计算(二)windows下开发环境搭建(当用pip安装出现Unable to find vcvarsall.bat)
用于科学计算Python语言真的是amazing! 方法一:直接安装集成好的软件 刚开始使用numpy.scipy这些模块的时候,图个方便直接使用了一个叫做Enthought的软件.Enthought ...
- 目前比较流行的Python科学计算发行版
经常有身边的学友问到用什么Python发行版比较好? 其实目前比较流行的Python科学计算发行版,主要有这么几个: Python(x,y) GUI基于PyQt,曾经是功能最全也是最强大的,而且是Wi ...
- Python科学计算之Pandas
Reference: http://mp.weixin.qq.com/s?src=3×tamp=1474979163&ver=1&signature=wnZn1UtW ...
- Python 科学计算-介绍
Python 科学计算 作者 J.R. Johansson (robert@riken.jp) http://dml.riken.jp/~rob/ 最新版本的 IPython notebook 课程文 ...
- Python科学计算库
Python科学计算库 一.numpy库和matplotlib库的学习 (1)numpy库介绍:科学计算包,支持N维数组运算.处理大型矩阵.成熟的广播函数库.矢量运算.线性代数.傅里叶变换.随机数生成 ...
随机推荐
- Jssdk微信分享
<?php require_once "jssdk.php"; $jssdk = new JSSDK("yourAppID", "yourApp ...
- MongoDB-固定集合 capped collection 操作 介绍
固定集合:capped collection 是性能出色的固定大小的集合,以LRU算法淘汰记录,自助维护集合中的对象的插入顺序,创建时预先制定大小,空间使用完,心对象取代旧的对象,保持最新的数据. 可 ...
- Routing
假如有一个请求:localhost/home/index,那么路由需要做的事情如下: (1)确定Controller (2)确定Action (3)确定其他参数 (4)根据识别出来的数据,将请求传递给 ...
- (C初学) 对数组与指针的一些浅显的理解
因为课堂上没听懂,又看不懂教科书(<C语言程序设计教程>第3版 谭浩强,张基温编著)上晦涩的表达方式,昨天晚上特意拿<C语言入门经典>这本书自己研究了一晚的数组与指针. 先来一 ...
- [Ioi2005]River
设f[i][j][k]表示i上游最近的一个伐木场为j且在i所在的子树里共建了k个伐木场(不包含在i的)的最小运费和 设v为u的儿子,dist[u]为u到0号点的距离. 则当i>=j时 f[u][ ...
- solr拼写检查代码逻辑
自定义的solr搜索系统作为web应用发布到tomcat后,运行过程中其搜索代码逻辑如下: 用户solr搜索应用发送搜索请求URL,solr应用的org.apache.solr.servlet.Sol ...
- Node.js 安装 初体验(1)
1.安装nodejs http://nodejs.org/download/ 自动根据系统下载自己的版本node.js 2.环境变量 windows 安装,不需要配置环境变量 mac安装后,会提 ...
- poj 1364
http://poj.org/problem?id=1364 #include<cstdio> #include<cstring> #include<algorithm& ...
- ajax+json数据传输
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- scheme lambda表达式 形参
lambda表达式 (Lambda (arg1 …) exp1 exp2)从演算来看,(let ((var value) …) exp1 exp2…) == ((lambda (var …) exp ...