Skip to main content
  1. Posts/

Profiling Python Code with line_profiler

··235 words·2 mins·
Table of Contents

To profile Python code line by line, we can use line_profiler1.

How to install


Use pip to install this package:

pip install line_profiler


It is easier to install using conda, since it does not require building the package from source:

# if you use pip on Windows, you must have Visual Studio to build the package.
conda install line_profiler

How to profile?

Line profiler has a command line execute named kernprof. Annotate the function we want to profile with @profile annotation. Then run the following command on the command line:

kernprof -v -l -u 1e-3

By default, kernprof will only generate the profile result file, but do not print the result. The name of result file is the original Python script name suffixed with lprof. To check the profile result, we need to run line_profiler again:

python -m line_profiler

The -v option tells kernprof to show the profile result. The -l option will print the profile time for each line for the given function. The -u option specify the unit of measure, which is 1e-6 seconds by default.

The command line options to can be followed after it. Just like you call python


  1. This is a fork of original line_profiler repo. The original repo is not maintained any more. ↩︎


How to Profile Your Python Script/Module
·328 words·2 mins
Configure Python logging with dictConfig
··503 words·3 mins
How to Deploy Fastapi Application with Docker
·508 words·3 mins