Skip to content

feat(benchmarks): add MediatR 12.5.0 comparison suites - #17

Merged
illia1f merged 1 commit into
mainfrom
feat/mediatr-benchmarks
Oct 13, 2026
Merged

illia1f merged 1 commit into
mainfrom
feat/mediatr-benchmarks

Conversation

@illia1f

@illia1f illia1f commented Oct 13, 2026

Copy link
Copy Markdown
Owner

Adds BenchmarkDotNet suites on .NET 10 that compare RequestFlow with MediatR 12.5.0, the last Apache-2.0 release, plus a RequestFlow-only suite for the Task and ValueTask paths. No timing results are published yet.

  • RequestFlow.Benchmarks.MediatR: 224 cases covering requests, void requests, streams, events, catalog size, mixed traffic, and short-circuit pipelines, with matching workloads and service lifetimes.
  • RequestFlow.Benchmarks: 34 cases comparing Task and ValueTask dispatch and stage chains.
  • probe mode checks results, execution order, lifetimes, tokens, and disposal before any timing run.
  • Benchmark projects pin dependencies with package lock files, and CI restores in locked mode.
  • RequestFlow grants InternalsVisibleTo to RequestFlow.Benchmarks so chain-level benchmarks can enter frozen plans directly.
  • docs/events.md migration notes cite 12.5.0 probes only, and ROADMAP drops LiteBus from the planned comparisons.
  • CHANGELOG gains an [Unreleased] section, including the dispatch allocation changes from perf: reduce dispatch overhead and adopt PolySharp polyfills #16.
  • Removes the unused Directory.Local.props import.

Validation:

  • Locked restore and Release build of the solution: zero warnings and errors.
  • probe passed for the MediatR comparison: 15 classes, 112 parameter sets, 224 cases.
  • probe passed for the RequestFlow suite: 4 classes, 14 parameter sets, 34 cases.

- RequestFlow.Benchmarks.MediatR compares requests, void requests,
  streams, events, catalog size, mixed traffic, and short-circuit
  pipelines against MediatR 12.5.0, the last Apache-2.0 release.
- RequestFlow.Benchmarks compares Task and ValueTask paths and stage
  chains.
- Shared Core, Harness, and fixture projects verify each workload with
  correctness probes before measuring.
- Benchmark projects use package lock files; CI restores in locked mode.
- MediatR migration notes in docs/events.md cite 12.5.0 probes only.
- Drop the unused Directory.Local.props import.
@illia1f
illia1f merged commit 506c71f into main Oct 13, 2026
1 check passed
@illia1f
illia1f deleted the feat/mediatr-benchmarks branch October 13, 2026 22:31
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.

1 participant