PyProfilers is collection of wrapper functions for various Python profilers which aims to make profiling more convenient.
Install and update using pip:
pip install -U pyprofilersimport pyprofilers as ppProfile with cProfile
Use the standard Python cProfile to list
the cumulative time spent in the function func and all its subfunctions:
@pp.profile(sort_by='cumulative', out_lines=30)
def func():
...sort_bycan be used to sort the results according to the supplied criteria. All criterias can be found here.out_linescontrols the number of lines in results. UseNoneor ommit the arugment to show all.
Profile with line_profiler
Use the line_profiler to list time spent within each line of func:
@pp.profile_by_line(exit=1)
def func():
...Set exit to True to stop the execution after the first call to func returns. This is useful if func is called multiple times to
avoid the repeated output of the profiler statistics.
To just time the execution of a function use the simple_timer decoration:
@pp.simple_timer(num=1)
def func():
...The num argument can be used to specify how often the function should be executed.