Skip to content

Add CodSpeed performance benchmarking integration#54

Closed
codspeed-hq[bot] wants to merge 1 commit intomainfrom
codspeed-wizard-1771778729852
Closed

Add CodSpeed performance benchmarking integration#54
codspeed-hq[bot] wants to merge 1 commit intomainfrom
codspeed-wizard-1771778729852

Conversation

@codspeed-hq
Copy link
Copy Markdown

@codspeed-hq codspeed-hq bot commented Feb 22, 2026

Summary

This PR integrates CodSpeed for continuous performance benchmarking of DataFusion.

Changes

  • Workspace dependency update: Replaced criterion = "0.8" with codspeed-criterion-compat = "4.3.0" using Cargo dependency renaming (package = "codspeed-criterion-compat"). This is a drop-in replacement that preserves all existing use criterion::*; imports across the codebase -- no benchmark source code changes required.

  • CI workflow: Added .github/workflows/codspeed.yml that builds and runs all criterion benchmarks with CodSpeed's CPU simulation instrument on every push to main and on pull requests. Uses OIDC authentication (no secrets required).

  • README badge: Added CodSpeed badge linking to the project dashboard.

How it works

The codspeed-criterion-compat crate acts as a passthrough when running cargo bench normally, so existing benchmark workflows are unaffected. When benchmarks are run through cargo codspeed in CI, CodSpeed instruments the execution to produce consistent, hardware-agnostic measurements.

Affected crates

All 13 crates with criterion benchmarks are covered automatically via the workspace dependency:

  • datafusion (core)
  • datafusion-common
  • datafusion-datasource
  • datafusion-datasource-parquet
  • datafusion-functions
  • datafusion-functions-aggregate
  • datafusion-functions-aggregate-common
  • datafusion-functions-nested
  • datafusion-functions-window
  • datafusion-optimizer
  • datafusion-physical-expr
  • datafusion-physical-plan
  • datafusion-spark

Next steps

  1. After merging, CodSpeed will start tracking benchmark performance on every PR
  2. Performance regressions will be reported as PR comments and status checks
  3. Historical performance data will be available at the CodSpeed dashboard

@github-actions github-actions bot added documentation Improvements or additions to documentation development-process labels Feb 22, 2026
@adriangb
Copy link
Copy Markdown
Member

Superseded by new PR from codspeed branch with memory profiling, macro benchmarks, and protoc fix.

@adriangb adriangb closed this Feb 23, 2026
@adriangb adriangb deleted the codspeed-wizard-1771778729852 branch February 23, 2026 05:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

development-process documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant