python运行时间计算之timeit
2016-03-28 15:36
651 查看
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:如何运行一段字符串型代码
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中:
命令行中:
>>> timeit.timeit( "obj.method()", """
... class SomeClass:
... def method(self):
... pass
... obj= SomeClass() #注,此setip中即完成了类定义,还完成了赋值
""")
0.1980541350058047
其中用的最多应该就是.eg3了,因为大量情况下我们需要用它来看一个函数的运行时间,或者是用类实现了一种数据结构类型,查看其各种方法的时间
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爬虫学习--pixiv爬虫(1)--p站爬虫的登录
- 如何安装Python环境以及为Visual Studio 2012安装Python插件
- [python]爬极客网课程
- python 多进程 多线程编程
- python学习(九):异常、调式与测试
- Python 多线程8-线程的合并
- Ubuntu 14.04安装Sublime Text 2并配置python环境
- Python 多线程7-线程通信
- python 多线程2-队列同步
- python 多线程5线程同步
- 自动化打包资源混淆集成python实践----资源混淆
- 利用Python 破解类unix系统 /etc/shadow 文件hashed password
- Python中排序常用到的sort 、sorted和argsort函数
- Python 多线程4-死锁
- Python 多线程3-同步线程
- python 多线程2-线程的创建启动,退出
- python单元测试之unittest
- Python多线程-1
- python2.7: how to wirite chinese to file
- Python 序列化