性能优化的几个重要方面,这里是就
Python 而言,但它们却普遍适用。
- 如果你要在正则表达式和编写循环间抉择,选择正则表达式。正则表达式因其是以 C 语言编译的可以本能地在你的计算机上运行,你的循环却以 Python 编写需要通过 Python 解释器运行。
- 如果你需要在正则表达式和字符串方法间抉择,选择字符串方法。它们都是以 C 编译的,所以选取简单的。
- 字典查找的通常应用很快,但是 string.maketrans 之类的特殊函数和 isalpha() 之类的字符串方法更快。如果 Python 有定制方法给你用,就使它吧!
- 别太聪明了。有时一些明显的算法是最快的。
- 不要太迷恋性能优化,性能并不是一切。
最后一点太重要了,这章中你令这个程序提速三倍并且令百万次的调用节省 20 秒。太棒了!现在思考一下:在那百万次的函数调用中,有多少秒花在周边应用程序等待数据库连接?花在磁盘输入/输出上?花在等待用户输入上?不要在过度优化算法上花时间,从而忽略了其它地方可以做的明显改进。开发你编写运行良好的 Python 代码的直觉,如果发现明显的失误则修正它们,并不对其它部分过分操作。