环境
- 蟒蛇3.9
- 线分析器 3.1.0
我通过 pip 安装了 line-profiler。
sudo pip3 install line-profiler
细节
add_function
和runcall
作品。没关系。
import line_profiler
def hoge():
n = 0
for i in range(100):
n += i
print(n)
pr = line_profiler.LineProfiler()
pr.add_function(hoge)
pr.runcall(hoge)
pr.print_stats()
% python3.9 profile1.py
4950
Timer unit: 1e-06 s
Total time: 6.1e-05 s
File: /home/miwa/work/lang/python/profile1.py
Function: hoge at line 4
Line # Hits Time Per Hit % Time Line Contents
==============================================================
4 def hoge():
5 1 1.0 1.0 1.6 n = 0
6 101 23.0 0.2 37.7 for i in range(100):
7 100 25.0 0.2 41.0 n += i
8 1 12.0 12.0 19.7 print(n)
但enable
并disable
不起作用。
仅输出 'Timer unit' 。
是不是使用不当?
import line_profiler
def hoge():
n = 0
for i in range(100):
n += i
print(n)
pr = line_profiler.LineProfiler()
pr.enable()
hoge()
pr.disable()
pr.print_stats()
% python3.9 profile0.py
4950
Timer unit: 1e-06 s