计算Python代码的运行时间
2014-09-16 11:23
369 查看
斐波那契数列,又称黄金分割数列 [0,1,1,2,3,5,8,13,21..]
写了个递归函数, 计算第n项值
def func(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return func(n-2) + func (n-1)
func 参数分别为30,35执行一次函数耗费时间,
有趣的是,n 只增加了5,时间增加了20多倍。
func 参数分别为30,35执行3次函数耗费时间,timeit 如不加参数,默认运行1百万次
另repeat 函数可以重复执行n次计算,并且每次计算执行n次函数调用
如执行3次t1. timeit(1) 结果
def func(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return func(n-2) + func (n-1)
if __name__ == '__main__':
start = clock()
print func(40)
finish = clock()
print (finish-start)
写了个递归函数, 计算第n项值
def func(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return func(n-2) + func (n-1)
</pre>发现n > 30 之后,执行时间非常长,于是想知道具体的代码执行时间,</p><p><h2>方法1:timeit 模块</h2><div><pre name="code" class="plain">>>> from timeit import Timer >>> t1 = Timer("func(30)", "from __main__ import func") >>> t2 = Timer("func(35)", "from __main__ import func")
func 参数分别为30,35执行一次函数耗费时间,
>>> t1.timeit(1) 0.5481270925380386 >>> t2.timeit(2) 12.405652104510068
有趣的是,n 只增加了5,时间增加了20多倍。
func 参数分别为30,35执行3次函数耗费时间,timeit 如不加参数,默认运行1百万次
>>> t1.timeit(3) 1.6510642680780165 >>> t2.timeit(3) 18.92313576122126
另repeat 函数可以重复执行n次计算,并且每次计算执行n次函数调用
如执行3次t1. timeit(1) 结果
>>> t1.repeat(3, 1) [0.5405368141019835, 0.5502100386017901, 0.5496847882153588]
方法2: time 模块
from time import clockdef func(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return func(n-2) + func (n-1)
if __name__ == '__main__':
start = clock()
print func(40)
finish = clock()
print (finish-start)
相关文章推荐
- python计算一段代码的运行时间(类和函数)
- python中利用time模块,计算一段代码运行的时间。
- Python 代码运行时间的3种计算方法
- C++ 计算 代码运行时间的 几种方法
- 计算某段代码运行时间
- 测量Python代码运行的时间
- 常用的代码之一:用StopWatch计算代码运行花费的时间。
- python计算程序运行时间
- 利用jiffies计算代码的运行时间
- 测量Python代码运行的时间
- Matlab中计算程序运行时间的代码
- python两个关于计算方法运行时间的修饰器
- 测量Python代码运行的时间
- 计算代码运行时间
- 利用jiffies计算代码的运行时间
- 设计模式里面的深考坝(无废话设计模式)加计算代码运行时间语句
- 关于计算Java程序运行时间 及Java代码--JUnit
- 计算某段代码运行时间之二(仅适用于windows)
- C++中计算某个代码的运行时间
- 计算代码片段运行时间的方法 System.Diagnostics.Stopwatch