summaryrefslogtreecommitdiff
path: root/topics/pudb/profiling_python_code.gmi
diff options
context:
space:
mode:
authorPjotr Prins2023-12-03 09:42:57 -0600
committerPjotr Prins2023-12-03 09:42:57 -0600
commitf63f9df201c3ae57ad8b52cf5127995c82944be7 (patch)
tree00731e4b2e5b0fd4434a8b9b308703ded915df22 /topics/pudb/profiling_python_code.gmi
parentfe2d644507548dcbaaf8d675d2e5c96795101d70 (diff)
downloadgn-gemtext-f63f9df201c3ae57ad8b52cf5127995c82944be7.tar.gz
Moving files
Diffstat (limited to 'topics/pudb/profiling_python_code.gmi')
-rw-r--r--topics/pudb/profiling_python_code.gmi28
1 files changed, 28 insertions, 0 deletions
diff --git a/topics/pudb/profiling_python_code.gmi b/topics/pudb/profiling_python_code.gmi
new file mode 100644
index 0000000..9052364
--- /dev/null
+++ b/topics/pudb/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