summaryrefslogtreecommitdiff
path: root/topics/profiling_python_code.gmi
blob: 90523641648896d0f16dd2214f4649955c1a4578 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Profiling Python code

As part of improving the system, there is need to identify and fix/improve the performance bottlenecks in the code. This document details examples of how one would run various profilers, for both GeneNetwork2 and GeneNetwork3

## GeneNetwork3

### cProfile

Syntax:

* env [various-env-vars] python3 -m cProfile the-script.py

where

* `[various-env-vars]` is a number of environment variables that might be needed for the running of the script, e.g. `SQL_URI` which is used to define how to connect to the database.
* `the-script.py` is the name of the python script to be run under the profiler

The output can be redirected, e.g.

* env [various-env-vars] python3 -m cProfile the-script.py 2>error.log 1>performance.log

which should help will separating errors from the performance data, for easier analysis


## Tags

* type: documentation
* keywords: profiling, python