Как сохранить вывод cProfile.Profile() в файл *.prof в скрипте Python

Привет, я знаю, как использовать метод командной строки для профилирования скрипта Python, как указано ниже.

python -m cProfile -o program.prof my_program.py

Однако я профилирую определенный фрагмент кода в Python, используя модуль cProfile, как показано ниже.

import cProfile, pstats, io
pr = cProfile.Profile()
pr.enable()
# ... do something ...
pr.disable()
s = io.StringIO()
sortby = 'cumulative'
ps = pstats.Stats(pr, stream=s).sort_stats(sortby)
ps.print_stats()
print(s.getvalue())

Как сохранить pr вывод cProfile.Profile() в файл *.profile вместо использования pstats.Stats() для анализа и печати результатов профилирования. Так что я могу использовать его для визуального анализа статистики с помощью SnakeViz или подобных утилит.


person Muhammad Abdullah    schedule 19.12.2017    source источник


Ответы (1)