Benchmarks and visualisations generated by scripts/perf_dashboard.rs are not
checked into main. They are produced only inside GitHub Actions and pushed to
the dedicated perf_dashboard branch, which also backs the published static
dashboard.
The .github/workflows/perf-dashboard.yml workflow runs on main, scheduled
windows, or manual dispatch. It performs the following steps:
cargo bench -p lkr-core --bench scripts_bench -- --noplot.cargo run -p lkr-core --bin perf_dashboard -- --memory-iters 5 to
aggregate P50/P95/P99 latency and peak memory per scenario.docs/perf/dashboard as an Actions artifact for the run.perf_dashboard branch using
peaceiris/actions-gh-pages, keeping prior history (last 30 snapshots).The branch can be wired to GitHub Pages or another static host if desired. To
inspect artifacts locally, download the workflow artifact from the Actions run
instead of expecting files in main.
If you need to reproduce the dashboard locally:
cargo bench -p lkr-core --bench scripts_bench -- --noplot
cargo run -p lkr-core --bin perf_dashboard -- --memory-iters 5
Remember to discard the generated docs/perf/dashboard directory afterward or
stash the changes to avoid polluting the working tree. Only CI pushes to the
perf_dashboard branch should persist history.
The workflow pushes the dashboard to the perf_dashboard branch. To serve it:
perf_dashboard branch and the / (root) folder, then save.GitHub will publish the static site at https://lollipopkit.github.io/lkr/
(replace with your fork’s owner/repo as needed) and automatically refresh it
whenever the workflow updates the branch.