了解profilehooks输出,{min}是什么意思?

时间:2014-07-18 12:10:21

标签: python python-2.7 profiling

代码是:

def slide_merge_forloop(rc1u,rc2wr):
    ret1 = []
    rc1ulen = len(rc1u)
    rc2wrlen = len(rc2wr)

    for i in xrange(min (rc1ulen, rc2wrlen)):
        if rc1u[i] == rc2wr[i]:
            ret1.append(rc1u[i])
        elif rc1u[i] == 'N':
            ret1.append(rc1u[i])
        elif rc2wr[i] == 'N':
            ret1.append(rc2wr[i])
        else:
            break
    return ret1

下面是将此函数作为主代码的一部分进行分析的输出,这是使用profilehooks作为分析工具获得的:

*** PROFILER RESULTS ***
slide_merge_forloop (Early_matcher.py:73)
function called 224794 times

         1181922 function calls in 1.004 seconds

   Ordered by: cumulative time, internal time, call count

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
   224794    0.817    0.000    0.980    0.000 Early_matcher.py:73(slide_merge_forloop)
   224794    0.097    0.000    0.097    0.000 {min}
   449588    0.052    0.000    0.052    0.000 {len}
   224794    0.024    0.000    0.024    0.000 {method 'disable' of '_lsprof.Profiler' objects}
    57952    0.014    0.000    0.014    0.000 {method 'append' of 'list' objects}
        0    0.000             0.000          profile:0(profiler)

显然我希望加快代码速度,但我遇到的问题是{min}部分是什么意思?在我的代码的这一部分中,我根本不会调用这样的东西,但它占用了大量的时间。我对“方法'禁用'”部分有同样的问题,因为我不明白它是什么。

非常感谢您理解此输出的任何帮助。

1 个答案:

答案 0 :(得分:0)

表示执行min内置函数

所花费的时间