Python Glossary English

все Python 3pstatsпонятие

pstats.Stats

отчёт профиля

Загружает результаты профилировщика из Profile или файлов и печатает отчёт: сортировка, фильтры, вызывающие и вызываемые.

Синтаксис

pstats.Stats(*filenames_or_profile, stream=sys.stdout)

Методы меняют объект на месте и возвращают его же, поэтому пишут цепочкой: strip_dirs().sort_stats('cumulative').print_stats(10). Число в print_stats — сколько строк показать, дробь от 0 до 1 — доля, строка — регулярное выражение по имени. Отчёт идёт в stream (по умолчанию sys.stdout), а не возвращается строкой — для текста передайте io.StringIO(). Файлы профиля не переносимы между версиями Python.

Примеры

import cProfile, pstats, io
def fib(n):
    return n if n < 2 else fib(n - 1) + fib(n - 2)
with cProfile.Profile() as pr:
    fib(10)
out = io.StringIO()
st = pstats.Stats(pr, stream=out)
print(st.strip_dirs().sort_stats('cumulative') is st)  # → True
st.print_stats(3)
print('function calls' in out.getvalue())  # → True

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности