Skip to content

Add CodSpeed performance benchmarks and CI integration#1

Merged
aichholzer merged 1 commit into
mainfrom
codspeed/wizard-1782270903700
Jun 24, 2026
Merged

Add CodSpeed performance benchmarks and CI integration#1
aichholzer merged 1 commit into
mainfrom
codspeed/wizard-1782270903700

Conversation

@codspeed-hq

@codspeed-hq codspeed-hq Bot commented Jun 24, 2026

Copy link
Copy Markdown

Summary

This PR sets up continuous performance measurement for kee using CodSpeed. It adds a criterion-based benchmark suite covering the library's hot paths and a GitHub Actions workflow that runs the benchmarks on every push and pull request.

Changes

  • benches/kee_benchmarks.rs: A new benchmark suite exercising the public library API:
    • ProfileInfo JSON serialization and deserialization
    • KeeConfig construction across multiple sizes (10 / 100 / 1000 profiles)
    • Profile lookup (get_profile) and listing (list_profiles)
    • Full KeeConfig serialization / deserialization round-trips at varying sizes
    • Profile removal
  • Cargo.toml: Registered the kee_benchmarks bench target (harness = false) and added the codspeed-criterion-compat dev-dependency (aliased as criterion). This is a drop-in replacement for criterion that adds CodSpeed instrumentation while keeping the standard criterion API.
  • .github/workflows/codspeed.yml: A workflow that builds the benchmarks with cargo codspeed build and runs them via the CodSpeed action in simulation mode, authenticated through OpenID Connect (no token required).
  • README.md: Added the CodSpeed badge.

Notes

  • The benchmarks run in simulation mode, CodSpeed's deterministic CPU instrument, which provides low-variance measurements on standard ubuntu-latest runners. Macro runners are not required for this mode.
  • All benchmarks were validated locally before opening this PR.

Next steps

  • Merge this PR so CodSpeed can establish a performance baseline from the main branch.
  • Subsequent pull requests will automatically receive performance reports comparing against that baseline.
  • Consider expanding coverage to the AWS config parsing paths (AwsManager) if those are exposed for benchmarking in the future.

@codecov

codecov Bot commented Jun 24, 2026

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

@codspeed-hq

codspeed-hq Bot commented Jun 24, 2026

Copy link
Copy Markdown
Author

Congrats! CodSpeed is installed 🎉

🆕 14 new benchmarks were detected.

You will start to see performance impacts in the reports once the benchmarks are run from your default branch.

Detected benchmarks


Open in CodSpeed

@codspeed-hq
codspeed-hq Bot marked this pull request as ready for review June 24, 2026 03:20
@aichholzer
aichholzer merged commit 0465fc7 into main Jun 24, 2026
11 checks passed
@aichholzer
aichholzer deleted the codspeed/wizard-1782270903700 branch June 24, 2026 03:22
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.

2 participants