Python Glossary English

все Python 3cProfileфункция

cProfile.runctx()

запуск профилировщика

Профилирует строку кода с явно заданными словарями globals и locals — когда коду нужны локальные переменные.

Синтаксис

cProfile.runctx(command, globals, locals, filename=None, sort=-1)

Решает главную проблему run(): передайте globals() и locals(), и код увидит переменные вызывающей функции. Возвращает None, а не результат выражения — если нужно и значение, и профиль, берите Profile().runcall(func, *args). С filename статистика молча уходит в файл, на экран не выводится ничего.

Примеры

import cProfile, pstats
def main():
    data = list(range(1000))
    result = cProfile.runctx('sorted(data)', globals(), locals(), 'out.prof')
    print(result)  # → None
    print(pstats.Stats('out.prof').total_calls > 0)  # → True
main()

См. также

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