🤖 Update Mock Benchmark Results#6319
Conversation
There was a problem hiding this comment.
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 "
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.
There was a problem hiding this comment.
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:
- 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.
- 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.
Up to standards ✅🟢 Issues
|
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-MockCreationmock-benchmark-Setupmock-benchmark-Invocationmock-benchmark-Verificationmock-benchmark-Callbackmock-benchmark-CombinedWorkflowmock-benchmark-summary(aggregated overview)Libraries Compared
Libraries are discovered dynamically from the benchmark output. See the generated
summary.jsonfor the full list.Changes
docs/static/benchmarks/mocks/latest.jsondocs/docs/benchmarks/mocks/docs/static/benchmarks/mocks/summary.jsonWorkflow Run
🤖 This PR was automatically created and will be merged automatically once CI checks pass.