如何让python程序运行得更快

时间:2022-01-29 05:22:01

原则1:不优化

原则2:不要优化那些不重要的部分(否则会降低可读性)

解决方案:

1. 使用函数,局部变量比全局变量快很多。尽量使用函数,如main()

2. 有选择性的消除属性访问。 如多用 from math import sqrt 而不要直接再程序中多次调用 math.sqrt(), 或直接声明局部变量。

import math

def compute_roots(nums):
sqrt = math.sqrt
res = []
res_append = res.append
for n in nums:
res_append(sqrt(n))
return res # 微优化
a = { i:i**2 for i in range(1000) } # 较快
b = [dict(i=i**2) for i in range(1000) ] #较慢

3. 避免不必要的抽象,如装饰器,@property等

4. 使用内建的字符串,元组,列表,集合,字典等容器.

5. 避免不必要的数据结构或拷贝动作 

6. 使用cPython或pypy等。

Ps: >> 优化之前,先要跑起来,先要有正确的算法!低复杂度的算法远比程序的优化更重要。