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 reports from cProfile
.
To profile code line-by-line, we need an external Python module named line_profiler
. In this recipe, we will demonstrate how to use this module within IPython.
Getting ready
To install line_profiler
, type conda install line_profiler
in a Terminal.
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
IPython extension module that comes with the package:>>> import numpy as np %load_ext line_profiler
This IPython extension module provides an
%lprun
magic command to profile a Python function line-by-line. It works best when the function is defined in a file...