ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 65.417 65.417 <string>:1(<module>)
1 43.675 43.675 65.417 65.417 primenumber_o.py:3(main)
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}
99999 21.742 0.000 21.742 0.000 {range}
2 0.000 0.000 0.000 0.000 {time.time}
具体来说,第三条线。我在cProfile上读了一遍,但没什么能解释这句话的意思。它也没有提供任何关键字,我可以在谷歌上搜索,所以我被难住了。在
我正在分析的Python脚本查找质数。在
我看在第21行上花了5秒。我不明白另外43秒在做什么。在
第三行是文件中不是
range()
的所有代码。在我没有使用cProfile,但在我看来,它根据函数名将运行时分配到bucket中。21秒被
for
语句中的内置函数range()
使用。另外43秒不在一个单独的命名函数中,因此它所属的名称是main
,如下所示:如果你把循环的主体放入一个函数中,43秒(或大部分时间)就会出现在那里。如果将主体拆分为多个函数,您将获得更细粒度的分析。在
相关问题 更多 >
编程相关推荐