Skip to content

chore: add normalization benchmarks with additional workload scenarios#31

Merged
hyf0 merged 1 commit intomainfrom
hyf_32849032
Feb 23, 2026
Merged

chore: add normalization benchmarks with additional workload scenarios#31
hyf0 merged 1 commit intomainfrom
hyf_32849032

Conversation

@hyf0
Copy link
Copy Markdown
Owner

@hyf0 hyf0 commented Feb 23, 2026

No description provided.

Copilot AI review requested due to automatic review settings February 23, 2026 11:50
@codspeed-hq
Copy link
Copy Markdown

codspeed-hq bot commented Feb 23, 2026

Merging this PR will not alter performance

✅ 18 untouched benchmarks
🆕 6 new benchmarks
⏩ 1 skipped benchmark1

Performance Changes

Benchmark BASE HEAD Efficiency
🆕 normalize_mixed_workload N/A 45.2 µs N/A
🆕 normalize_short_clean N/A 5.4 µs N/A
🆕 normalize_already_clean_absolute N/A 12.7 µs N/A
🆕 normalize_needs_work N/A 30.1 µs N/A
🆕 normalize_deep_clean N/A 9.5 µs N/A
🆕 normalize_already_clean N/A 23 µs N/A

Comparing hyf_32849032 (b9c03eb) with main (8788c4f)

Open in CodSpeed

Footnotes

  1. 1 benchmark was skipped, so the baseline result was used instead. If it was deleted from the codebase, click here and archive it to remove it from the performance reports.

@hyf0

This comment was marked as outdated.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR expands the existing Criterion benchmarks for SugarPath::normalize() to cover additional workload scenarios (already-normalized inputs, mixed workloads, and size/depth-focused cases) so performance characteristics can be compared across different path shapes.

Changes:

  • Split the prior single normalize benchmark into multiple targeted benchmark cases (needs-work, already-clean, mixed workload, short clean, deep clean).
  • Extended bench fixture sets with more normalization-heavy strings and additional absolute-path samples.
  • Added OS-specific “already normalized” fixture lists for Unix and Windows.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
benches/normalize.rs Adds several new normalize_* benchmarks targeting distinct workload patterns.
benches/fixtures.rs Adds additional path fixtures, including OS-specific “already normalized” path lists used by the new benchmarks.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@hyf0 hyf0 merged commit ce5e297 into main Feb 23, 2026
5 checks passed
@github-actions github-actions bot mentioned this pull request Feb 23, 2026
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