August 2018
Intermediate to advanced
366 pages
10h 14m
English
The cProfile.Profile object is able to run any function with provided arguments and gather execution statistics with a minor overload.
The runcall function is the one that actually runs the function providing the passed arguments (in this case, True is provided as the first function argument, which means goslow=True):
profiler = Profile() profiler.runcall(slowfunc, True)
Once the profiling data is gathered, we can print it on screen to provide details about what was executed:
profiler.print_stats()
The printed output includes the list of functions executed during the call, the total time it took for each of those functions, the time each function took on each call, and the total number of calls:
ncalls tottime percall cumtime ...