完成本章学习后,你将能够:
import cProfile import pstats # 分析代码 cProfile.run('my_function()', 'output.stats') # 查看统计 p = pstats.Stats('output.stats') p.sort_stats('cumulative').print_stats(10)
# 1. 使用局部变量 def slow(): for i in range(1000): x = math.sqrt(i) def fast(): sqrt = math.sqrt # 局部变量 for i in range(1000): x = sqrt(i) # 2. 使用生成器 def slow_list(): return [x**2 for x in range(1000000)] def fast_gen(): return (x**2 for x in range(1000000)) # 3. 使用集合进行查找 if item in list_items: # O(n) if item in set_items: # O(1)
1. 分析并优化慢代码 2. 使用多进程加速 3. 使用缓存优化
下一章:第四十四章:附录与资源