Skip to content

test: Stage 0.9 benchmark harness with v1.x baselines (#436)#467

Merged
jepegit merged 3 commits into
masterfrom
436-benchmark-harness
Jul 10, 2026
Merged

test: Stage 0.9 benchmark harness with v1.x baselines (#436)#467
jepegit merged 3 commits into
masterfrom
436-benchmark-harness

Conversation

@jepegit

@jepegit jepegit commented Jul 10, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds an opt-in pytest-benchmark suite under benchmarks/ measuring five v1.x performance metrics on committed golden cells (single-cell pipeline, 20-cell batch summary collection, v8 load, get_cap, peak RSS).
  • Commits a Linux baseline JSON (benchmarks/baselines/v1x_ubuntu_py313.json) and a check_baseline.py comparator with a ±20% mean wall-time gate.
  • Introduces a dedicated .github/workflows/benchmarks.yml job on ubuntu-latest, separate from the Tier-1 essential merge gate.

Closes #436.

Test plan

  • pytest benchmarks/ --benchmark-only — 4 passed, 1 skipped (RSS) on Windows; 5 passed on WSL Linux
  • python benchmarks/check_baseline.py — within ±20% on WSL after baseline capture
  • ruff check benchmarks/ — clean
  • CI Benchmarks workflow green on this PR
  • Optional acceptance check: temporarily slow one benchmark (~0.5s), confirm CI fails, revert

Notes

  • Peak RSS is recorded on Linux only and is not compare-gated.
  • pytest -m essential has one pre-existing failure (loader_pec_csv golden, datetime64[ns] vs us) unrelated to this change.

Made with Cursor

Introduce an opt-in pytest-benchmark suite under benchmarks/ with committed
Linux baselines and a dedicated CI job that fails on ±20% wall-time regressions.
Closes G8 and unblocks polars Phase A performance enforcement.

Co-authored-by: Cursor <cursoragent@cursor.com>
@cursor

cursor Bot commented Jul 10, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

cursor[bot]
cursor Bot approved these changes Jul 10, 2026
WSL-captured baselines were ~2–4× slower than GHA runners and failed the
±20% compare. Refresh means from the failed CI run and add a workflow_dispatch
capture job for future baseline updates.

Co-authored-by: Cursor <cursoragent@cursor.com>
@cursor

cursor Bot commented Jul 10, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

cursor[bot]
cursor Bot approved these changes Jul 10, 2026
Align CI with the release-plan acceptance criterion (no metric slower than
1.x): allow faster runs to pass and rebaseline when an improvement is
intentional.

Co-authored-by: Cursor <cursoragent@cursor.com>
@cursor

cursor Bot commented Jul 10, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved. Cursor Bugbot was not present on this PR, so that automated review signal was skipped per policy. No reviewers were assigned.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Router and Approver

@jepegit jepegit merged commit 881118d into master Jul 10, 2026
4 checks passed
@jepegit jepegit deleted the 436-benchmark-harness branch July 10, 2026 10:07
jepegit added a commit that referenced this pull request Jul 13, 2026
* chore(issueflow): archive #439 and #467 to solved

Move completed issue tracking files from partly-solved to solved folders.

Co-authored-by: Cursor <cursoragent@cursor.com>

* feat: deprecate cellpy.utils.easyplot on import (#479)

Emit a module-level DeprecationWarning via warn_once pointing users to
plotutils and collectors; register removal in 2.0 in DEPRECATIONS.md.

Closes #479.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
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.

Stage 0.9: Benchmark harness + v1.x performance baselines

1 participant