Python调试工具
line_profile
安装line_profile
pip install line_profile
用法
line_profiler 的使用特别简单,在需要监控的函数前面加上 @profile
装饰器。然后用它提供的 kernprof -l -v [source_code.py]
行进行诊断。以下边的test.py为例,test.py源码如下
1 | import line_profiler |
然后在终端输入kernprof -l -v test.py
即可查看结果, 结果也会保存在test.py.lprof文件中,可以通过python -m line_profiler test.py.lprof
再次查看。
1 | kernprof -l -v test.py |
输出结果中每列的含义如下:
Line #: 行号
Hits: 当前行执行的次数.
Time: 当前行执行耗费的时间,单位为 “Timer unit:”
Per Hit: 平均执行一次耗费的时间.
% Time: 当前行执行时间占总时间的比例.
Line Contents: 当前行的代码
line_profiler 执行时间的估计不是特别精确,不过可以用来分析当前函数中哪些行是瓶颈。
vprof
使用详情见标题链接,vprof -c cmh "test.py"