1

环境

  • 蟒蛇3.9
  • 线分析器 3.1.0

我通过 pip 安装了 line-profiler。

sudo pip3 install line-profiler

细节

add_functionruncall作品。没关系。

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)

enabledisable不起作用。

仅输出 '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
4

0 回答 0