The cProfile is my go-to Python profiler as it is part of the default installation, no extra modules needed. When profilig with cProfile it will generate an output with the call count and spent times for each called fuction. The main way I use it is specifying an output file for later inspection:
python3 -m cProfile -o output_file myscript.py
This will generate a file named output_file
to be opened and sorted and analysed later. This file can be read with the pstats module (which is also a default module) by using:
python3 -m pstats output_file
You can call sort
without arguments to see the options, but sort time
and sort cumulative
are the first ones I usually try and then stats
will show the ordered data.
There is also snakeviz which is a visualizer for the cProfile output file format. But this one you will need to install with:
python3 -m pip install snakeviz
References: