Skip to content

docs(audits): Windows IOCP benchmark plan vs std::fs::File#3814

Merged
oferchen merged 1 commit into
masterfrom
docs/windows-iocp-bench-plan-1899
May 7, 2026
Merged

docs(audits): Windows IOCP benchmark plan vs std::fs::File#3814
oferchen merged 1 commit into
masterfrom
docs/windows-iocp-bench-plan-1899

Conversation

@oferchen
Copy link
Copy Markdown
Owner

@oferchen oferchen commented May 7, 2026

Summary

  • Adds docs/audits/windows-iocp-benchmark-plan.md, a focused plan for benchmarking the Windows IOCP file I/O path (crates/fast_io/src/iocp/, Fix Clippy warnings in transport and walk tests #1717-Add filter program internal tests #1721) against synchronous std::fs::File writes within the same oc-rsync binary.
  • Specifies workload axes: small files (4K/16K/64K), large files (1M/16M/100M), and concurrent streams (1/4/16/64), with explicit factory-threshold and direct-IOCP coverage.
  • Cross-references matched io_uring workloads under Ensure release flow builds distributable artifacts #1868 with two computed ratios (iocp_speedup vs io_uring_speedup) and a 25 percent divergence flag.
  • Defines the required runner: windows-latest with --features iocp via a new xtask windows-bench subcommand and a .github/workflows/benchmark-windows-iocp.yml workflow (smoke on PRs touching IOCP code, full weekly).
  • Lists seven decision criteria (C1-C7) that gate flipping IocpPolicy::Auto to IOCP-as-default on Windows.

Test plan

  • Doc renders cleanly in GitHub markdown preview.
  • Cross-references resolve: docs/audits/windows-iocp-benchmark.md, docs/audits/disk-commit-iouring-batching.md, docs/audits/io-uring-fixed-buffer-audit.md.
  • No code changes; CI fmt/clippy/nextest matrix should pass without compilation.

Adds a focused plan for benchmarking the IOCP file I/O path
(crates/fast_io/src/iocp/, #1717-#1721) against synchronous
std::fs::File writes. Covers small (4K-64K) and large (1M-100M)
file workloads with 1/4/16/64 concurrent streams, cross-references
matched io_uring workloads (#1868), specifies the windows-latest
runner with --features iocp via xtask windows-bench, and defines
seven decision criteria gating the flip of IocpPolicy::Auto to
IOCP-as-default.

Refs: #1899, #1868, #1717-#1721
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label May 7, 2026
@oferchen oferchen merged commit cf82a05 into master May 7, 2026
8 checks passed
@oferchen oferchen deleted the docs/windows-iocp-bench-plan-1899 branch May 8, 2026 03:52
oferchen added a commit that referenced this pull request May 18, 2026
Adds a focused plan for benchmarking the IOCP file I/O path
(crates/fast_io/src/iocp/, #1717-#1721) against synchronous
std::fs::File writes. Covers small (4K-64K) and large (1M-100M)
file workloads with 1/4/16/64 concurrent streams, cross-references
matched io_uring workloads (#1868), specifies the windows-latest
runner with --features iocp via xtask windows-bench, and defines
seven decision criteria gating the flip of IocpPolicy::Auto to
IOCP-as-default.

Refs: #1899, #1868, #1717-#1721
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant