Python/Profilers

From Omnia
Jump to navigation Jump to search

Python Profiling with Profilers

https://docs.python.org/3/library/profile.html

The files cProfile and profile can also be invoked as a script to profile another script. For example:

python -m cProfile [-o output_file] [-s sort_order] (-m module | myscript.py)

Sort order

-s
See https://docs.python.org/3/library/profile.html#pstats.Stats.sort_stats
'cumulative' SortKey.CUMULATIVE cumulative time
'cumtime' N/A cumulative time
-r reverse  # put at bottom

---

tail -f /var/log/syslog | python3 -m profile -s cumtime /usr/local/bin/lolcat
tail -f /var/log/syslog | python3 -m cProfile -s cumtime /usr/local/bin/lolcat
import cProfile
import re
cProfile.run('re.compile("foo|bar")')

Save to file:

import cProfile
import re
cProfile.run('re.compile("foo|bar")', 'restats.txt')