aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorPjotr Prins2021-08-16 10:56:02 +0200
committerPjotr Prins2021-08-16 10:56:02 +0200
commit0dbe0670fe437ddadd713f8abc404a4be215ac7f (patch)
tree75d425d21560fa8580b2c4ec0331feca9e3a5351 /doc
parent42de3667c90964206c3764be1867527d8eeb8cfc (diff)
downloadpangemma-0dbe0670fe437ddadd713f8abc404a4be215ac7f.tar.gz
README.md
README
Diffstat (limited to 'doc')
-rw-r--r--doc/developers/profiling.md30
1 files changed, 30 insertions, 0 deletions
diff --git a/doc/developers/profiling.md b/doc/developers/profiling.md
new file mode 100644
index 0000000..0d26453
--- /dev/null
+++ b/doc/developers/profiling.md
@@ -0,0 +1,30 @@
+# Profiling
+
+gperftools (formerly the Google profiler) is included in the .guix-dev
+startup script. Compile gemma for profiling:
+
+ make clean
+ make profile
+
+Run the profiler
+
+ env CPUPROFILE=/tmp/prof.out ./bin/gemma -g ./example/mouse_hs1940.geno.txt.gz -p ./example/mouse_hs1940.pheno.txt -gk -o mouse_hs1940
+ pprof ./bin/gemma /tmp/prof.out
+
+and `top` shows
+
+```
+Welcome to pprof! For help, type 'help'.
+(pprof) top
+Total: 720 samples
+ 103 14.3% 14.3% 103 14.3% dgemm_kernel_ZEN
+ 39 5.4% 19.7% 79 11.0% ____strtod_l_internal
+ 37 5.1% 24.9% 53 7.4% __printf_fp_l
+ 36 5.0% 29.9% 36 5.0% __sched_yield
+ 34 4.7% 34.6% 34 4.7% __strlen_avx2
+ 31 4.3% 38.9% 31 4.3% __strspn_sse42
+ 26 3.6% 42.5% 116 16.1% ReadFile_geno
+ 25 3.5% 46.0% 26 3.6% _int_malloc
+ 23 3.2% 49.2% 23 3.2% gsl_vector_set
+ 18 2.5% 51.7% 18 2.5% __strcspn_sse42
+```