1. cProfile
cProfile
是Python标准库中内置的性能分析模块,C扩展,非侵入式,不需要修改代码。你可以用两种调用方法:
- 命令行调用
python -m cProfile [-s sort_order] myscripy.py
常用的 sort 类型有两个:
1. tottime,指的是函数本身的运行时间,扣除了子函数的运行时间
2. cumtime,指的是函数的累计运行时间,包含了子函数的运行时间
- 代码调用
有时不方便命令行调用,可以直接在代码中加入:
import cProfile, pstats, io
pr = cProfile.Profile()
pr.enable()
# your code here
pr.disable()
s = io.StringIO