все 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Сообщить о неточности