cprofile 是 python 内置性能分析工具,可统计函数调用次数、总耗时、累计耗时等指标;支持命令行一键分析或代码中嵌入式分析,并可通过 pstats 深度查看与过滤结果。

cProfile 是 Python 内置的性能分析工具,能精确统计函数调用次数、总耗时、单次平均耗时等关键指标,适合定位程序中的性能瓶颈。
快速上手:命令行直接分析
无需修改代码,用一行命令即可启动分析:
- python -m cProfile your_script.py —— 输出所有函数的调用和时间统计
- python -m cProfile -s cumulative your_script.py —— 按累计时间(cumtime)排序,便于发现耗时最长的调用链
- python -m cProfile -o profile.out your_script.py —— 将结果保存为二进制文件,供后续可视化或深入查看
在代码中嵌入分析
适用于只想分析某一段逻辑(如某个函数或循环),避免全局干扰:
企业网站通用源码是以aspcms作为核心进行开发的asp企业网站源码。企业网站通用源码是一套界面设计非常漂亮的企业网站源码,是2016年下半年的又一力作,适合大部分的企业在制作网站是参考或使用,源码亲测完整可用,没有任何功能限制,程序内核使用的是aspcms,如果有不懂的地方或者有不会用的地方可以搜索aspcms的相关技术问题来解决。网站UI虽然不是特别细腻,但是网站整体格调非常立体,尤其是通观全
- 导入模块:import cProfile
- 开始记录:prof = cProfile.Profile(),然后 prof.enable()
- 执行待测代码(例如 my_heavy_function())
- 停止并打印结果:prof.disable(),再用 prof.print_stats(sort='cumulative')
读懂输出结果的关键列
典型输出包含六列,重点关注以下三列:
立即学习“Python免费学习笔记(深入)”;
- ncalls:调用次数(含递归时显示为 n/n,如 5/2 表示总共调用 5 次,其中 2 次是递归)
- tottime:该函数自身执行时间(不含子函数),越长说明内部计算越重
- cumtime:该函数及其所有子函数的累计耗时,高 cumtime 通常指向调用链顶层的瓶颈入口
后续处理:用 pstats 查看和过滤
保存的 profile.out 文件可交互式分析:
- 启动分析器:python -m pstats profile.out
- 常用命令:sort cumtime、limit 10(只看前 10 行)、print my_function(聚焦某个函数)
- 导出为文本:write stats.txt,方便存档或对比










