码迷,mamicode.com
首页 > 其他好文 > 详细

优化程序

时间:2015-05-26 10:42:13      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:

python性能是个瓶颈,没必要在上面花太多精力。如果在意性能,应当直接换编程语言。

优化python的思路:

1、数据结构

set/list/dict等等要区分清楚用途

2、算法

不在这里细说,通用思路

3、多层循环

  • 减少不必要的运算         for i in range(10):    x = len(aa) ....
  • 减少构造中间变量         t = a; b = t ; a = t;     =>    a, b = b,a
  • 减少查找变量的深度  保证在locals()中就可以找到,不要去globals(),甚至__builtins__

4、语言特性

  • 用生成器(generator)/yield   对于遍历时,由于它没有构造整个列表,而是由迭代器移动,所以它节省空间
  • 用join连接字符串                它比“+”高效的原因,它只有构造一个最终的字符串;而“+”需要构造n-1个中间字符串
  • 多用C扩展库                  如cPickle等等这样c字母开头的库
  • 迭代生成时多用()                (for i in [1,2..] if i ...) 比  [for i in [1,2..] if i ...]快很多
  • 反序列化工具比较                json.loads比cPickle.loads快近3倍,比eval(...)快20多倍

5、并发

6、特殊工具

  • PyPy          它比CPython实现的Python要快6倍以上
  • cProfile      分析每个函数所用时间,是分析工具

参考:http://segmentfault.com/a/1190000000666603#articleHeader17

 

优化程序

标签:

原文地址:http://www.cnblogs.com/johnchow/p/4529859.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!