当我使用时显示分析数据时pstats,第一列是每个函数的调用次数.
然而,当我整理的数据,我有选择之间calls,ncalls和pcalls钥匙.文档说明calls并且ncalls是呼叫计数,何时pcalls是原始呼叫计数.是排序calls还是ncalls相同?有什么不同pcalls?
Pav*_*sov 14
http://docs.python.org/2/library/profile.html#module-cProfile
我们定义原语意味着调用不是通过递归引起的.
...当函数没有递归时,这两个值是相同的
按calls或排序ncalls相同.
当第一列中有两个数字时(例如,43/3),则后者是原始调用的数量,前者是实际的调用数.请注意,当函数没有递归时,这两个值是相同的,只打印单个数字:
In [43]: def a(i):
....: if i == 0:
....: return
....: a(i-1)
....:
In [54]: %prun a(0)
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 0.000 0.000 <ipython-input-43-25b7f3d268b8>:1(a)
In [55]: %prun a(1)
ncalls tottime percall cumtime percall filename:lineno(function)
2/1 0.000 0.000 0.000 0.000 <ipython-input-43-25b7f3d268b8>:1(a)
In [56]: %prun a(3)
ncalls tottime percall cumtime percall filename:lineno(function)
4/1 0.000 0.000 0.000 0.000 <ipython-input-43-25b7f3d268b8>:1(a)
Run Code Online (Sandbox Code Playgroud)