用途:这是面向 Python 代码的性能分析与优化指南,用于定位性能瓶颈、降低延迟、减少内存占用与内存泄漏、提升数据库查询和 I/O 效率、加速数据处理流程,并可在生产环境做 profiling。
主要能力:
- 性能测量:使用 time 与 timeit 做基准计时;
- CPU profiling:cProfile 配合 pstats,可按 SortKey.CUMULATIVE 排序并输出前 N 个函数,支持保存 .prof 文件后用命令行查看;
- 行级 profiling:line_profiler 配合 @profile 或 LineProfiler 使用;
- 内存 profiling:memory_profiler 的 @profile 装饰器;
- 生产环境 profiling:py-spy 支持 top、record 生成 flamegraph、dump 调用栈;
- 内存分析:tracemalloc 追踪分配以排查内存泄漏。
常见优化模式:列表推导式、生成器表达式省内存、str.join 替代字符串累加、字典 O(1) 查找替代列表搜索、局部变量优于全局变量、减少函数调用开销、NumPy 向量化、functools.lru_cache 缓存、slots 降低对象内存、多进程处理 CPU 密集型任务、asyncio 处理 I/O 密集型任务、数据库批量插入与索引优化。
使用方式示例命令(保持原样): python -m cProfile -o output.prof script.py python -m pstats output.prof kernprof -l -v script.py python -m memory_profiler script.py pip install py-spy py-spy record -o profile.svg --pid 12345
适用场景:调试慢速 Python 代码、优化瓶颈、降低内存占用、优化数据库查询、加快数据处理管道、实现高性能算法。
限制:需自行安装 line-profiler、memory-profiler、py-spy 等工具;具体性能提升幅度取决于代码与环境,资料未提供统一基准;是否支持特定 Python 版本及平台兼容性暂未提供。