Gramps Performance Testing

Introducing gramps-bench : gramps-bench · PyPI with the source code here: GitHub - dsblank/gramps-bench: Scripts to measure and record Gramps genealogy program benchmarks This project is designed especially for developers that want to test how different backend version and settings effect performance of the Gramps’ backends.

Developers: checkout the tests in gramps-bench/gramps_bench/performance_tests.py at main · dsblank/gramps-bench · GitHub

We’ll also have to decide on what gramps family tree to use for standard benchmarks (or create one randomly).

The idea is:

  1. Run gramps-bench to get a baseline
  2. Make some changes to the installed gramps code (let’s call this 6.0.4-t1 for test 1)
  3. Record the benchmark
  4. Display the results

Basically, this works like:

pip install gramps-bench --upgrade

gramps-bench path/to/a/family-tree-file
# make your changes to code
gramps-bench path/to/a/family-tree-file --version 6.0.4-t1

This will create in the current directory a folder called .benchmarks (this is a standard format using pytest-benchmark). To see the results:

gramps-bench

and look for a PDF in the folder. There are more details in the README.md. Let me know if issues… this is the initial version.

Next up for me: add the standard benchmark results to the repo for easy comparisons for users to see and compare.

2 Likes