Profiling your code line-by-line with line_profiler
Python's native cProfile
module and the corresponding %prun
magic break down the execution time of code function by function. Sometimes, we may need an even more fine-grained analysis of code performance with a line-by-line report. Such reports can be easier to read than the reports of cProfile
.
To profile code line-by-line, we need an external Python module named line_profiler
created by Robert Kern, available at http://pythonhosted.org/line_profiler/. In this recipe, we will demonstrate how to use this module within IPython.
Getting ready
To install line_profiler
, type pip install line_profiler
in a terminal, or type !pip install line_profiler
in IPython (you need a C compiler).
On Windows, you can use Chris Gohlke's unofficial package available at www.lfd.uci.edu/~gohlke/pythonlibs/#line_profiler.
How do to it...
We will profile the same simulation code as in the previous recipe, line-by-line:
First, let's import NumPy and the
line_profiler...