Python cProfile性能分析工具实战指南

沿途有光
沿途有光
发布时间:2026-10-13 | 5人浏览过
原创

本文详细介绍Python内置的cProfile性能分析工具。通过具体代码示例,演示如何使用命令行直接运行cProfile以及保存结果文件进行后续分析。重点讲解pstats模块的sort_stats参数,包括按时间排序等常用选项,帮助开发者快速定位性能瓶颈。

前言

cProfile模块简介

Python内置了多个性能分析模块,包括profile、cProfile和hotshot。它们的使用方式大致相同,主要区别在于实现语言是纯Python还是C语言。本文重点介绍cProfile模块的使用方法。

示例代码


import time
def func1():
  sum = 0
  for i in range(1000000):
    sum += i
def func2():
  time.sleep(10)

func1()
func2()

基础运行与结果分析

执行命令


python -m cProfile del.py

执行输出

结果解读

结果显示共执行了6个函数,总耗时10.138秒。默认情况下,结果按函数名称排序输出。

保存结果与高级分析

脚本运行方式


python -m cProfile -o del.out del.py

可以通过模块模式直接保存profile结果,以便进行更深入的分析。具体运行命令如下


python -c "import pstats; p=pstats.Stats('del.out'); p.print_stats()"

输出结果(随机顺序)

可以指定排序方式,例如按照函数消耗的时间进行排序


python -c "import pstats; p=pstats.Stats('del.out'); p.sort_stats('time').print_stats()"

sort_stats方法支持以下参数:


calls, cumulative, file, line, module, name, nfl, pcalls, stdname, time

pstats模块还提供交互式分析功能

以上内容为本文全部介绍,希望对各位学习有所帮助。也欢迎大家继续支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表