Python 性能技巧 (一)

翻译自:https://wiki.python.org/moin/PythonSpeed/PerformanceTips

该页面致力于提供帮助提高你的 Python 程序的性能各种技巧和窍门。无论信息来自何人, 我试图鉴别来源。

Python 在我 1996 年写过 “fast python” 页面后已经发生了很多重要变化,这意味着一些命令会发生变化。我将这个页面迁移到 Python wiki, 希望其他人会帮助维护它。

在使用这些技巧时你仍需进行针对特定版本 Python 和你程序的测试,而不是盲目的接受一个方法快于另外一种。在分析时你会看到更多的细节。

通同样更新的你可以用类似 Cython、Pyrex、Psyco、Weave、Shed Skin 和 PyInline 之类编写包,通过将性能关键代码转换为 C 或机器语言极大提升应用性能。

概述: 优化你需要优化的

你只能在获取第一个正确结果运行获取输出时知道你的程序是否运行很慢。当发现运行缓慢, 分析可以显示程序的哪些部分消耗的大部分时间。全面的快速测试套件可以确保未来的优化不改变程序的正确性。简单来说:

  1. 正常获取结果
  2. 测试是否正确
  3. 如果慢则进行分析
  4. 优化
  5. 重复步骤 2

一些优化方法是良好的编程风格, 因此你应该学习学习他们的方式。一个例子将是不通过循环移动计算的值。

选择正确的数据结构

TBD