Python深入浅出:从入门到工程实践22

第 22 章 性能优化与部署

本章学习目标

  • 使用 cProfile 和 line_profiler 定位性能瓶颈
  • 使用 memray 分析内存问题
  • 掌握 asyncio / threading / multiprocessing 的选择策略
  • 理解 Python 3.14 free-threading 的机遇与代价
  • 使用 Cython 和 PyO3 编写高性能扩展
  • 使用 Docker 容器化 Python 应用
  • 配置 CI/CD 流水线(GitHub Actions)

22.1 性能分析:先测量,再优化

原则:永远不要凭直觉优化——先 profile,找到瓶颈再动手。优化 95% 时间的 5% 代码。

类比:性能优化就像看病——cProfile 是体检(哪个器官有问题),line_profiler 是显微镜(哪个细胞异常),memray 是代谢检查(内存"营养"怎么消耗的)。不做检查就开药,是庸医。

22.1.1 cProfile:函数级分析

# 命令行使用