Skip to content

feat(uring): add benchmark and diagnostic foundations - #15

Merged
houseme merged 3 commits into
mainfrom
houseme/uring-performance-foundations
Sep 22, 2026
Merged

houseme merged 3 commits into
mainfrom
houseme/uring-performance-foundations

Conversation

@houseme

@houseme houseme commented Sep 22, 2026

Copy link
Copy Markdown
Collaborator

Read benchmark CSV headers were out of sync with their data, setup/teardown costs were mixed into workload timings, and driver-stage waits could not be separated. Add versioned benchmark output, explicit lifecycle/configuration fields, and opt-in per-shard sampled timing. The default driver compiles out the timing instrumentation.

Require positive O_DIRECT execution in CI. Add byte-exact coverage for all eight benchmark strategies and an ABBA runner that preserves artifacts and rejects drift, configuration changes, incomplete reports, and concurrent workloads. Document stage overlap and remaining target-hardware/application validation.

Tracking: rustfs/backlog#2647 (step 1.1–1.4 implementation, plus 1.5 evidence tooling; the optimization program remains open).

Validation: native Linux/x86_64 build, 4 timing unit tests + 19 cancel/correctness tests + 5 fault tests, strict O_DIRECT positive check, and release-mode CLI smoke with diagnostics off/on passed. Linux/aarch64 default/diagnostic correctness and paired seccomp-restricted degradation also passed. Linux check/Clippy/rustdoc, fmt, shellcheck, actionlint, and ABBA gate unit tests passed. Formal ABBA and actual LocalIoBackend/S3 performance are not yet accepted; no speedup is claimed.

Review covered measurement fairness, error behavior, ownership/task teardown, atomics and sampling distribution, restricted-host compatibility, test effectiveness, subprocess ownership/deadlines, and documentation consistency. Fixed sampling bias from global-ID modulo interacting with round-robin shards. Schema v2 requires positional CSV consumers to migrate.

houseme and others added 3 commits September 22, 2026 21:38
Track rustfs/backlog#2647 steps 1.1, 1.2 and 1.4.

Co-Authored-By: heihutu <heihutu@gmail.com>
Co-Authored-By: zhi22915 <qiuzgang@gmail.com>
Track rustfs/backlog#2647 step 1.3 with per-shard sampling, explicit timing boundaries and feature-off coverage.

Co-Authored-By: heihutu <heihutu@gmail.com>
Co-Authored-By: zhi22915 <qiuzgang@gmail.com>
Track rustfs/backlog#2647 step 1.5 tooling. Formal target-hardware performance acceptance remains outstanding.

Co-Authored-By: heihutu <heihutu@gmail.com>
Co-Authored-By: zhi22915 <qiuzgang@gmail.com>
@houseme
houseme marked this pull request as ready for review September 22, 2026 16:23
@houseme
houseme merged commit 40c8b24 into main Sep 22, 2026
3 checks passed
@houseme
houseme deleted the houseme/uring-performance-foundations branch September 22, 2026 16:24
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