Skip to content

Add CodSpeed continuous performance testing#68

Merged
mluttikh merged 1 commit intomainfrom
codspeed-wizard-1775987447892
Apr 12, 2026
Merged

Add CodSpeed continuous performance testing#68
mluttikh merged 1 commit intomainfrom
codspeed-wizard-1775987447892

Conversation

@codspeed-hq
Copy link
Copy Markdown
Contributor

@codspeed-hq codspeed-hq bot commented Apr 12, 2026

Summary

This PR integrates CodSpeed for continuous performance testing of the xml2arrow parsing benchmarks.

Changes

  • Benchmark integration: Replaced criterion with codspeed-criterion-compat in benches/parse_benchmark.rs to enable CodSpeed's instrumentation layer. The existing Criterion API is fully preserved -- benchmarks still work with cargo bench as before.
  • CI workflow: Added .github/workflows/codspeed.yml that builds and runs the parse_benchmark suite on every push to main, on pull requests, and on manual dispatch. Uses OIDC authentication and simulation mode for reproducible, hardware-independent measurements.
  • README badge: Added CodSpeed badge alongside existing badges.
  • Dependency: Added codspeed-criterion-compat v4.4.1 as a dev-dependency and updated Cargo.lock.

How it works

CodSpeed's simulation mode uses CPU instruction counting (via valgrind) rather than wall-clock timing, which eliminates variance from CI runner load and produces fully reproducible results. The codspeed-criterion-compat crate is a drop-in replacement for criterion that hooks into this instrumentation when running under CodSpeed, and falls back to standard Criterion behavior otherwise.

Next steps

  • After merging, the first workflow run on main will establish the baseline performance data.
  • Subsequent pull requests will automatically get performance reports comparing against the baseline.
  • Visit codspeed.io/mluttikh/xml2arrow to view performance trends and flamegraphs.

@codspeed-hq
Copy link
Copy Markdown
Contributor Author

codspeed-hq bot commented Apr 12, 2026

Congrats! CodSpeed is installed 🎉

🆕 4 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 April 12, 2026 10:09
@mluttikh mluttikh merged commit 6e0c623 into main Apr 12, 2026
3 checks passed
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