目录

第四十三章:性能优化

本章目标

完成本章学习后,你将能够:

性能分析

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. 使用缓存优化

下一章:第四十四章:附录与资源