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:函数级分析
# 命令行使用