Skip to content

Add 1.0.0-based core and middleware benchmark baseline - #50

Merged
dombrovsky merged 1 commit into
mainfrom
benchmarks-1.0.0
Oct 18, 2026
Merged

dombrovsky merged 1 commit into
mainfrom
benchmarks-1.0.0

Conversation

@dombrovsky

@dombrovsky dombrovsky commented Oct 18, 2026 •

Copy link
Copy Markdown
Owner

Adds a standalone .NET 10 BenchmarkDotNet harness on the exact TaskFlow 1.0.0 release commit 0800af84229d7beb3a6fa507d236d0ff533b0c92. The head branch benchmarks-1.0.0 has one benchmark commit directly on that release; the production library, root build configuration, and solution are unchanged.

The 16 release-compatible cases cover synchronous/asynchronous completion, caller-token variants, drained bursts, gated enqueue-only submissions, concurrent producers, and pipeline middleware (which already exists in 1.0.0). Keyed scheduling and bounded admission are excluded here because those APIs were introduced later.

PR #47 merges this branch and current main, reuses the common harness files unchanged, and adds seven cases for the newer APIs. Both PRs target main; this release-based PR should be merged first. Check out benchmarks-1.0.0 to measure the unchanged release, and issue-43-benchmarks to measure the current library. Merging this PR into main adds benchmark infrastructure; reproducing 1.0.0 measurements still requires checking out the release-based branch.

The workflow explicitly checks out the PR head SHA and records it in its readable job summary, so release measurements cannot accidentally use GitHub's synthetic merge with current main. The harness remains outside standard solution tests and package publication. Generated reports are available through job summaries/artifacts rather than committed samples. The README documents the branch relationship, a common-case filter, methodology, and the history/comparison follow-ups.

Validation: .NET 10 Release build with zero warnings/errors; all 16 cases validated twice and all 16 executed successfully through BenchmarkDotNet Dry; benchmark whitespace and file-scoped namespace checks passed. A measured burst sample also completed with three warmups and eight actual iterations, with valid statistics and 1,000-operation normalization. Generated data remains outside source control. Verified that the common harness files are byte-identical to PR #47, the workflow summary renders all five report tables using the checked-out SHA, and production files match 0800af8.

Part of #43 (parent #42). The remaining newer-API coverage is in #47.

@dombrovsky
dombrovsky merged commit 495ada2 into main Oct 18, 2026
4 checks passed
@dombrovsky
dombrovsky deleted the benchmarks-1.0.0 branch October 18, 2026 06:52
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