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_profilerIPython extension module that comes with the package:>>> import numpy as np %load_ext line_profilerThis IPython extension module provides an
%lprunmagic command to profile a Python function line-by-line. It works best when the function is defined in a file...