Python的pstats:是否可以针对大量(递归)调用来修复“ ncalls”列的对齐方式?

时间:2019-03-12 11:40:25

标签: python profiling cprofile pstats

打印统计信息时,pstats尝试对输出进行列化。对于相对较低的调用(尤其是非递归调用),例如“

   ncalls  tottime  percall  cumtime  percall
        1    0.000    0.000  455.118  455.118
     26/1    0.043    0.002  455.118  455.118
        1    0.000    0.000  455.118  455.118
     13/1    0.000    0.000  455.118  455.118
     13/1    1.080    0.083  455.075  455.075
        1    0.859    0.859  368.846  368.846

但是,当处理更多分层的软件时,可能会获得不再适合ncalls列的呼叫计数(尤其是递归显示),而pstats显然不理解它应该扩展该列,并且显示变得一团糟:

   ncalls  tottime  percall  cumtime  percall filen
25019/10000    0.364    0.000 1596.746    0.160
2143096/630701    6.910    0.000 1342.003    0.002 
    10000    0.136    0.000 1337.793    0.134
45079/45075    1.219    0.000 1319.136    0.029
1747632/1747508    3.104    0.000 1136.821    0.001
     5019    0.243    0.000 1109.965    0.221

是否可以将pstats配置为使用更宽的列,或者有pstats替代方案可以根据需要显示的数据适当地调整其列的大小?

0 个答案:

没有答案