Skip to content

Add manual benchmark workflow with benchstat comparison - #10

Merged
schultz-is merged 1 commit into
trunkfrom
ci/benchmark-workflow
Aug 3, 2026
Merged

Add manual benchmark workflow with benchstat comparison#10
schultz-is merged 1 commit into
trunkfrom
ci/benchmark-workflow

Conversation

@schultz-is

Copy link
Copy Markdown
Owner

Add a workflow_dispatch-triggered Benchmarks workflow so benchmarks can be run on GitHub-hosted runners on demand (Actions tab -> Benchmarks -> Run workflow).

  • Runs on both amd64 (ubuntu-latest) and arm64 (ubuntu-24.04-arm) hosted runners, since the two architectures differ in general-purpose register count and these register-bound ARX ciphers are sensitive to it.
  • Installs benchstat (golang.org/x/perf) and uses -count=6 so results are reported as median +/- variance rather than raw repeated lines.
  • Optional compare_ref input: when set to a branch/tag/SHA, the workflow also benchmarks that ref and prints a benchstat A/B table (delta + p-value) versus the current ref. Branch names are resolved via origin/ (after fetch-depth:0), falling back to the ref verbatim for tags and SHAs.
  • Results are published to each job summary, labeled with runner/arch/Go version.

Add a workflow_dispatch-triggered Benchmarks workflow so benchmarks can be run
on GitHub-hosted runners on demand (Actions tab -> Benchmarks -> Run workflow).

- Runs on both amd64 (ubuntu-latest) and arm64 (ubuntu-24.04-arm) hosted
  runners, since the two architectures differ in general-purpose register count
  and these register-bound ARX ciphers are sensitive to it.
- Installs benchstat (golang.org/x/perf) and uses -count=6 so results are
  reported as median +/- variance rather than raw repeated lines.
- Optional compare_ref input: when set to a branch/tag/SHA, the workflow also
  benchmarks that ref and prints a benchstat A/B table (delta + p-value) versus
  the current ref. Branch names are resolved via origin/<ref> (after
  fetch-depth:0), falling back to the ref verbatim for tags and SHAs.
- Results are published to each job summary, labeled with runner/arch/Go
  version.
@schultz-is
schultz-is merged commit 206f7e3 into trunk Aug 3, 2026
3 checks passed
@schultz-is
schultz-is deleted the ci/benchmark-workflow branch August 3, 2026 06:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant