Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7172866
  • 博文数量: 3857
  • 博客积分: 6409
  • 博客等级: 准将
  • 技术积分: 15948
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-02 16:48
个人简介

迷彩 潜伏 隐蔽 伪装

文章分类

全部博文(3857)

文章存档

2017年(5)

2016年(63)

2015年(927)

2014年(677)

2013年(807)

2012年(1241)

2011年(67)

2010年(7)

2009年(36)

2008年(28)

分类:

2012-12-05 19:24:34

原文地址:提升python效率 作者:yueming

python中执行效率的提升

当有提速的需求时,尽量从内建函数入手(打败不了c写的循环)

1,必须是有一个已经确定的瓶颈才去优化,怎么确定呢,通过python的profile模块,只优化最底层的循环。

2,map中的循环比for循环快,for循环当然比while循环快

3,避免在最底层调用函数(包括lambdas)

4,本地变量比全局变量快,如果在循环中用到全局变量,那么拷贝到一个本地变量会更快,这里面的全局变量还包括内置

5,尽量使用map,reduce,filter来替换那些丑陋的循环,map+内建函数快于for,for+内连快于map+lambda

6,一个好的算法当然很重要,再明白一点经常效率低只有那很少的一部分代码,通过timeit,profile去发现

7 .操作符也会影响效率,import不放函数中,能在循环外部初始化出是的变量就不要在循环内部初始化呢

  1. import profile
  2. handle = login('telnet', 'lxx', 'nsfocus0', '10.20.7.240', '23')
  3. profile.run('handle.execute_cmd("cat /tmp/config.xml")', 'time.txt')
  4. import pstats
  5. p = pstats.Stats("time.txt")
  6. p.sort_stats("time").print_stats()

  7. python -m profile login.py

文章来自:

阅读(268) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~