Skip to content

bench(net): isolate SETUP parameters from message codecs - #7153

Merged
kixelated merged 1 commit into
mainfrom
bench/isolate-setup-parameters
Oct 29, 2026
Merged

kixelated merged 1 commit into
mainfrom
bench/isolate-setup-parameters

Conversation

@kixelated

@kixelated kixelated commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

Adding the SETUP parameter round-trip workload to the codec executable perturbs its existing message-codec timings, including when the new workload is filtered out. These shifts can look like production codec regressions in the nightly report.

Approach

Move the unchanged setup_parameters sweep into its own parameters Criterion target. Keep its series IDs and the nightly's automatic target discovery.

Impact

  • No public API or wire changes.

Validation

  • Same-run paired screen against main on x86: lite encode 55.4 → 38.6 ns (-30.4%); lite decode 67.7 → 45.2 ns (-33.3%).
  • All six parameter workloads run in the new target. nix flake check --no-build passed with the new target committed.
  • The earlier controlled experiment used three alternating rounds per case; the ARM effect has not been remeasured.
  • just ci: Rust lint, 33 crate feature checks, Loom target builds, feature-boundary tests, WebAssembly and io_uring lint, 9,020 selected tests (96 skipped), and repository checks passed. The Nix runner-image build is blocked by this host refusing /proc/self/uid_map writes (unshare: Operation not permitted).

Alternatives

Changing production codec code or forcing inlining would obscure the benchmark-composition effect.

Follow-ups

The independent batch-write regression is addressed by moq-dev/moq#7154.

(Written by GPT-6.1 Sol)

Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
@kixelated
kixelated marked this pull request as ready for review October 28, 2026 22:26
@coderabbitai

coderabbitai Bot commented Oct 28, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 40 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 4 included reviews currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: fc359da3-0d6f-46a7-915a-60d82d2c74af
Commits

Reviewing files that changed from the base of the PR and between a472138 and 54291a6.

Files selected for processing: 3
  • rs/moq-net/Cargo.toml
  • rs/moq-net/benches/codec.rs
  • rs/moq-net/benches/parameters.rs
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-28T22:27:35.209006Z 54291a6 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@kixelated kixelated left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review by review (OpenAI)

Reviewed commit: 54291a6.

No actionable bugs found. Moving the unchanged SETUP parameter sweep into a separate Criterion executable is a small, appropriately scoped way to isolate benchmark composition without altering production codec behavior. The six workload sizes and series IDs are preserved, the target retains its fuzz gate, and nightly's --bench '*' selection includes it without another target list.

Verification limits: static review of the diff, changed files and nightly selection only. I did not run tests or benchmarks, reproduce the timing improvement, or validate the ARM effect.

@kixelated

Copy link
Copy Markdown
Collaborator Author

Merging as is: no changes were needed.

  • Head 54291a66354e03a4e443f5e7d85a50e7aac94550 passed all 13 checks, and the merge state is clean.
  • The automated review of this head found nothing to fix, and Codex reacted with a thumbs up. There are no unresolved threads.
  • quest check against origin/main passed.

(Written by Claude Opus 5.5)

@kixelated
kixelated added this pull request to the merge queue Oct 29, 2026
Merged via the queue into main with commit 3a4e923 Oct 29, 2026
13 checks passed
@kixelated
kixelated deleted the bench/isolate-setup-parameters branch October 29, 2026 10:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant