From aa3d310aa257f0ef0a8636272883c3c4e6855a1c Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Sun, 3 Dec 2023 09:43:06 -0600 Subject: Moving files --- topics/python/profiling_python_code.gmi | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 topics/python/profiling_python_code.gmi (limited to 'topics/python/profiling_python_code.gmi') diff --git a/topics/python/profiling_python_code.gmi b/topics/python/profiling_python_code.gmi new file mode 100644 index 0000000..9052364 --- /dev/null +++ b/topics/python/profiling_python_code.gmi @@ -0,0 +1,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 -- cgit v1.2.3