Skip to content

🤖 Update Mock Benchmark Results#6319

Merged
thomhurst merged 1 commit into
mainfrom
automated-mock-benchmarks-update
Jun 27, 2026
Merged

🤖 Update Mock Benchmark Results#6319
thomhurst merged 1 commit into
mainfrom
automated-mock-benchmarks-update

Conversation

@thomhurst

Copy link
Copy Markdown
Owner

Automated Mock Benchmark Update

This PR updates the mock benchmark documentation with the latest results from the Mock Benchmarks workflow.

Benchmarks Produced

Individual benchmark artifacts are available for download:

  • mock-benchmark-MockCreation
  • mock-benchmark-Setup
  • mock-benchmark-Invocation
  • mock-benchmark-Verification
  • mock-benchmark-Callback
  • mock-benchmark-CombinedWorkflow
  • mock-benchmark-summary (aggregated overview)

Libraries Compared

Libraries are discovered dynamically from the benchmark output. See the generated summary.json for the full list.

Changes

  • Updated mock benchmark data in docs/static/benchmarks/mocks/latest.json
  • Regenerated mock benchmark documentation in docs/docs/benchmarks/mocks/
  • Updated mock benchmark summary in docs/static/benchmarks/mocks/summary.json

Workflow Run

  • Run ID: 28276895551
  • Triggered: schedule

🤖 This PR was automatically created and will be merged automatically once CI checks pass.

@thomhurst thomhurst added automated benchmarks documentation Improvements or additions to documentation ignore-for-release labels Jun 27, 2026
@thomhurst
thomhurst merged commit 86c110d into main Jun 27, 2026
12 of 13 checks passed
@thomhurst
thomhurst deleted the automated-mock-benchmarks-update branch June 27, 2026 03:27

@claude claude Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Automated Benchmark Update Review

This is an automated doc-only update (benchmark JSON + generated Markdown) — no source code changes. The automation pipeline looks correct and consistent.

Notable Benchmark Movements

Most benchmarks show minor, expected run-to-run variance. A few stand out:

CombinedWorkflow — significant regressions:

Library Previous New Change
TUnit.Mocks 1.173 μs 2.057 μs +75%
Moq 124.3 μs 406.6 μs +227%
NSubstitute 8.9 μs 17.8 μs +100%
FakeItEasy 9.2 μs 18.3 μs +99%

This across-the-board slowdown in CombinedWorkflow (all libraries getting significantly slower on the same day) strongly suggests CI environment noise rather than real regressions — the relative ordering is preserved and each library regressed by a similar factor. The "Ubuntu Latest" runner pool may have landed on a slower host for this run.

Setup — significant improvements (same caveat applies):

Library Previous New Change
Moq 426,638 ns 240,747 ns -44%
NSubstitute 5,691 ns 3,992 ns -30%

Architectural Suggestion

Since these automated runs are used as reference documentation, consider adding a confidence band or run-count annotation to the generated docs. When all libraries in a single benchmark move in the same direction by similar magnitudes, it indicates CI noise rather than real changes. A note like "⚠️ Results may reflect CI load — cross-run variance observed" would prevent readers from drawing incorrect conclusions. Alternatively, running each benchmark job with or keeping a rolling N-run average in the JSON data would make the published numbers more stable.

Overall

The automation mechanism is sound and the process is working as intended. The content changes are documentation-only with no risk to source code. The CombinedWorkflow numbers look noisy but that's an environment concern, not a pipeline defect. LGTM for merge.

@claude claude Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Automated Benchmark Update Review

This is an automated doc-only update (benchmark JSON + generated Markdown) — no source code changes. The automation pipeline looks correct and consistent.

Notable Benchmark Movements

Most benchmarks show minor, expected run-to-run variance. A few stand out:

CombinedWorkflow — significant regressions across all libraries:

Library Previous New Change
TUnit.Mocks 1.173 μs 2.057 μs +75%
Moq 124.3 μs 406.6 μs +227%
NSubstitute 8.9 μs 17.8 μs +100%
FakeItEasy 9.2 μs 18.3 μs +99%

This across-the-board slowdown in CombinedWorkflow — all libraries getting significantly slower on the same day — strongly suggests CI environment noise rather than real regressions. The relative ranking is preserved, and each library regressed by a roughly proportional factor. The "Ubuntu Latest" runner pool likely landed on a slower host for this run.

Setup — notable improvements (same caveat applies):

Library Previous New Change
Moq 426,638 ns 240,747 ns -44%
NSubstitute 5,691 ns 3,992 ns -30%

Architectural Suggestion

Since these automated runs are published as reference documentation, consider adding a confidence annotation to the generated output. When all libraries in a single benchmark move in the same direction by similar magnitudes, it signals CI noise rather than real changes. Two concrete options:

  1. Rolling average in the JSON: store the last N run results per benchmark and publish the mean of means. Single-run outliers would be smoothed out without requiring manual intervention.
  2. Noise flag in the generator: if all libraries in a category shift by >30% in the same direction, annotate the generated Markdown with a note like "⚠️ Results may reflect host variance — consider treating this run as a data point rather than a definitive benchmark."

Either approach would prevent documentation readers from drawing incorrect conclusions about library performance from a single noisy run.

Overall

The automation mechanism is sound and working as intended. Changes are documentation-only with no risk to source code. The CombinedWorkflow numbers appear noisy but that is a runner environment concern, not a pipeline defect. LGTM for merge.

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automated benchmarks documentation Improvements or additions to documentation ignore-for-release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant