Pstats для Python: возможно ли исправить выравнивание столбца "ncalls" для большого количества (рекурсивных) вызовов? - PullRequest
0 голосов
/ 12 марта 2019

При печати статистики, 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, которая правильно изменяет размеры своих столбцов на основе данных, которые нужно показать?

...