python -- list 性能测试

http: //www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/

引用上述文章的部分内容,

 def fab(max): 
    n, a, b = 0, 0, 1 
    L = [] 
    while n < max: 
        L.append(b) 
        a, b = b, a + b 
        n = n + 1 
    return L

改写后的 fab 函数通过返回 List 能满足复用性的要求,但是更有经验的开发者会指出,该函数在运行中占用的内存会随着参数 max 的增大而增大,如果要控制内存占用,最好不要用 List。


下面做了一个简单的实验,

#!/usr/bin/env python
import time


def fab(max):          # 名为 fbo.py
    n, a, b = 0, 0, 1
    while n < max:
        # print b
        a, b = b, a+b
        n = n+1

a = time.time()
fab(100000)
b = time.time()
print (b - a)

#!/usr/bin/env python
import time


def fab(max):          # 名为 fbo1.py
    n, a, b = 0, 0, 1
    L = []
    while n < max:
        L.append(b)
        a, b = b, a + b
        n = n + 1
    return L

a = time.time()
fab(100000)
b = time.time()
print (b - a)

运算结果如下:

gnu@dev:~$ python fbo.py
0.368745088577
gnu@dev:~$ python fbo1.py
16.414080143


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值