注:本文的原文地址为 Quick Python Performance Optimization: Part IIpython
这个是 Python 性能快速优化的第二部分,第一部分请点击这里。数据结构
for 循环
a in b
, 字典 或 set 比 列表 或 元组 更好deque
del - 删除对象使用以下
1) python 本身处理它,但确保使用了 gc
模块
2) 编写 __del__
函数
3) 最简单的方式,使用后调用 del
ide
time.clock()函数
GIL 仅仅容许一个 Python 的原生线程来运行每一个进程。阻止 CPU 级别的并行,尝试使用 ctypes
和 原生的 C 库来解决它,当你达到 Python 优化的最后,老是存在一个选项,可使用原生的 C 重写慢的函数,经过 Python 的 C 绑定使用它,其余的库如 gevent
也是致力于解决这个问题,而且得到了成功。oop
TL,DR:当你写代码了,过一遍数据结构,迭代结构,内建和为 GIL 建立 C 扩展,若有必要。性能
更新:multiprocessing 是在 GIL 的范围以外,这意味着你可使用 multiprocessing
这个标准库来运行多个进程。优化
看下个人 2013 的印度 PyCon 演讲ui