Skip to content

ci: an A/B benchmark workflow on the hosted amd64 and arm64 runners - #53

Merged
tannevaled merged 1 commit into
mainfrom
bench-workflow
Oct 18, 2026
Merged

tannevaled merged 1 commit into
mainfrom
bench-workflow

Conversation

@tannevaled

Copy link
Copy Markdown
Contributor

This adds bench.yml, an A/B benchmark for changes that need measuring on an architecture with no quiet machine at hand. Today that is amd64 and arm64: the cfarm hosts for them refuse their host keys since the CA revocation, and the dev Mac is too loaded to measure on.

  • Trigger: workflow_dispatch only, so it creates no pending checks on PRs. For example: gh workflow run bench.yml --ref <branch> -f base=main -f bench=DTypeSum.
  • What it does: it builds ./benchmarks at base and at the dispatched ref, then runs them alternately (base, head, base, head, …) in fresh processes on one thread, on ubuntu-latest (amd64) and ubuntu-24.04-arm (arm64). Runner drift therefore falls on both sides alike.
  • Output: benchstat's comparison goes in the job summary, and the raw files are uploaded as artifacts.
  • Caveat: hosted runners are shared VMs, so read a few percent as noise and keep a control benchmark in the pattern.

actionlint is clean.

🤖 Generated with Claude Code

workflow_dispatch only: builds ./benchmarks at a base ref and at the
dispatched ref, runs them alternately in fresh processes on one thread,
and puts benchstat's comparison in the job summary. For changes that
need measuring on an architecture with no quiet machine at hand.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@tannevaled
tannevaled merged commit 1af734c into main Oct 18, 2026
12 checks passed
@tannevaled
tannevaled deleted the bench-workflow branch October 18, 2026 08:01
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