This folder stores benchmark artifacts produced by
persistence_benchmark_runner for torrust-tracker-core.
Goals:
- Keep reproducible baseline reports in-repo.
- Track benchmark evolution across major persistence changes.
- Enable before/after comparisons (for example, before and after SQLx migration).
machine/: machine and toolchain characteristics for each run date.runs/<date>/: raw JSON benchmark output files and a run summary.
- Date:
2026-04-28 - Commit:
51c27fda813876afc1cb26ea1d5bbb0fa49dfdd2 - Issue context:
docs/issues/1710-1525-03-persistence-benchmarking.md - Run summary:
runs/2026-04-28/REPORT.md - Machine profile:
machine/2026-04-28-josecelano-desktop.txt
Raw JSON artifacts:
runs/2026-04-28/sqlite3.jsonruns/2026-04-28/mysql-8.4.jsonruns/2026-04-28/mysql-8.0.json
- Date:
2026-04-30 - Commit (HEAD at run time):
a4dbc63a6c713e115bfc11374b72743aa51ebfb5 - Issue context:
docs/issues/1717-1525-05-migrate-sqlite-and-mysql-to-sqlx.md - Run summary (with comparison vs
2026-04-28):runs/2026-04-30/REPORT.md - Machine profile:
machine/2026-04-30-josecelano-desktop.txt
Raw JSON artifacts:
runs/2026-04-30/sqlite3.jsonruns/2026-04-30/mysql-8.4.jsonruns/2026-04-30/mysql-8.0.json
- Date:
2026-05-01 - Commit (HEAD at run time):
74f5c8a9305912db8873024156cc006662ad1902 - Issue context:
docs/issues/1723-1525-08-add-postgresql-driver.md - Run summary (first run with PostgreSQL):
runs/2026-05-01/REPORT.md - Machine profile:
machine/2026-05-01-josecelano-desktop.txt
Raw JSON artifacts:
runs/2026-05-01/sqlite3.jsonruns/2026-05-01/mysql-8.4.jsonruns/2026-05-01/mysql-8.0.jsonruns/2026-05-01/postgresql-17.json
-
Create a new run folder:
mkdir -p packages/tracker-core/docs/benchmarking/runs/YYYY-MM-DD -
Run benchmarks and save JSON artifacts:
cargo run -p torrust-tracker-core --bin persistence_benchmark_runner -- --driver sqlite3 > packages/tracker-core/docs/benchmarking/runs/YYYY-MM-DD/sqlite3.jsoncargo run -p torrust-tracker-core --bin persistence_benchmark_runner -- --driver mysql --db-version 8.4 > packages/tracker-core/docs/benchmarking/runs/YYYY-MM-DD/mysql-8.4.jsoncargo run -p torrust-tracker-core --bin persistence_benchmark_runner -- --driver postgresql --db-version 17 > packages/tracker-core/docs/benchmarking/runs/YYYY-MM-DD/postgresql-17.json -
Capture machine profile:
mkdir -p packages/tracker-core/docs/benchmarking/machineSave at least OS, kernel, CPU, RAM, Rust toolchain and container runtime versions to:
packages/tracker-core/docs/benchmarking/machine/YYYY-MM-DD-<host>.txt -
Add
runs/YYYY-MM-DD/REPORT.mdwith:- benchmark context (commit, command, ops)
- high-level summary (total benchmark time)
- important per-operation medians
- comparison versus a prior run when relevant
-
Update this index file with links to the new run and machine profile.
After implementing docs/issues/1717-1525-05-migrate-sqlite-and-mysql-to-sqlx.md, the
benchmark was re-run at runs/2026-04-30 to compare against the 2026-04-28 baseline.
After adding the PostgreSQL driver (docs/issues/1723-1525-08-add-postgresql-driver.md),
the benchmark was run again at runs/2026-05-01 to establish the PostgreSQL baseline.
The next planned comparison point is after any major persistence refactor that touches all
drivers (e.g., schema migrations or async sqlx pool changes).