Skip to content

perf(mux): m1 compile time audit - #6537

Merged
kixelated merged 7 commits into
mainfrom
quest/m1/audit-compile-time
Oct 24, 2026
Merged

kixelated merged 7 commits into
mainfrom
quest/m1/audit-compile-time

Conversation

@kixelated

@kixelated kixelated commented Oct 23, 2026 •

Copy link
Copy Markdown
Collaborator

Finishes quest/m1/audit-compile-time.md and adds its m2 successor, which waits on the release cut.

Changes

  • perf(mux): the fMP4 fragment decode read through Cursor<&Bytes>, the only fMP4 path not using Cursor<&[u8]>, so mp4-atom's Any::decode_atom compiled a fourth time. Dev IR for the moq-mux lib drops from 1,006,004 to 996,345 lines. The consumer is every build of moq-mux and its dependents.
  • quest: deletes the m1 run and adds quest/m2/audit-compile-time.md at the end of m2's Required, holding the m1 baselines and what to check first.

Baselines (shared host, two Cargo jobs, MBX_DISABLE=1, one fresh target dir)

Build Load (median) Wall Longest unit
Clean dev, default members 4.1 to 9.0 (5.6) 308 s aws-lc-sys build script 114 s, 18.6% of unit time
Clean release -p moq-cli 3.1 to 17.7 (5.4) 750 s moq bin (fat LTO) 369 s, 49% of wall
Dev rebuild after a moq-net comment 5.0 to 8.4 70 s moq-tokio 21.8 s, 17.4%

cargo llvm-lines (deterministic, dev): moq-tokio 1,679,222 lines (moq-net rows over a transport session 39.1%), moq-cli bin 1,108,118, moq-mux 996,345, moq-ffi 811,228, moq-net 799,404 (BTreeMap internals 29.5%), moq-relay lib 667,136, moq-relay bin 311,790. The quest file has the full table and the m0 comparison.

Not done here

  • moq-dev/moq#6176 (moq-net compiles once) landed after these measurements, so the transport-share comparison and the thin-LTO rerun move to the m2 run.
  • fmp4/text.rs still decodes from a bare &[u8] (1.3% of moq-mux IR); skipped for open moq-dev/moq#6379.
  • cargo-llvm-lines is not in the pinned shell; flake.nix has four open PRs.
  • -Z time-passes on the release moq unit was not rerun; the release share barely moved.

Public API and wire impact

None. The change is inside a pub(crate) function.

Checks

  • just check: passed
  • quest check --base origin/main: passed

(Written by Claude Opus 5.5)

🤖 Generated with Claude Code

https://claude.ai/code/session_01EeyiEy5FWz3z44DYZVo7vU

kixelated and others added 3 commits October 23, 2026 02:45
`Cursor<&Bytes>` was the only fMP4 decode not reading through
`Cursor<&[u8]>`, so mp4-atom's `Any::decode_atom` compiled a fourth time.
Dev IR for the moq-mux lib drops from 1,006,004 to 996,345 lines.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EeyiEy5FWz3z44DYZVo7vU
Records the m1 baselines (clean dev, release, incremental, and
llvm-lines per target) in the successor, which waits on the release cut
and checks moq-net compiles once (#6176) first.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EeyiEy5FWz3z44DYZVo7vU
@kixelated kixelated changed the title Compile time audit perf(mux): m1 compile time audit Oct 23, 2026
@kixelated
kixelated marked this pull request as ready for review October 23, 2026 10:30
@kixelated

Copy link
Copy Markdown
Collaborator Author

Outcome: the m1 run is complete. One fix landed (moq-mux's fragment decode no longer instantiates mp4-atom's Any::decode_atom a fourth time, -0.96% of moq-mux dev IR). The transport-share and thin-LTO comparisons wait on moq-dev/moq#6176 and moved to quest/m2/audit-compile-time.md with the m1 baselines. No open decisions. just check and quest check passed.

(Written by Claude Opus 5.5)

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 23, 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-24T00:06:02.267492Z c4034b4 New commits
ℹ️ 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.

@coderabbitai

coderabbitai Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

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 17 seconds.

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: 91708b2c-6a5a-49f6-8c26-8a8ec953eec8
📥 Commits

Reviewing files that changed from the base of the PR and between 6666403 and c4034b4.

📒 Files selected for processing: 5
  • quest/m1/README.md
  • quest/m1/audit-compile-time.md
  • quest/m2/README.md
  • quest/m2/audit-compile-time.md
  • rs/moq-mux/src/container/fmp4/mod.rs

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ 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: d18490ab-68c9-4885-99b5-12f3e158c4ab
📥 Commits

Reviewing files that changed from the base of the PR and between 0d3b3e0 and 6666403.

📒 Files selected for processing: 5
  • quest/m1/README.md
  • quest/m1/audit-compile-time.md
  • quest/m2/README.md
  • quest/m2/audit-compile-time.md
  • rs/moq-mux/src/container/fmp4/mod.rs
💤 Files with no reviewable changes: 2
  • quest/m1/README.md
  • quest/m1/audit-compile-time.md

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.

Walkthrough

The fMP4 decode path now gives mp4_atom::Any::decode_maybe a cursor over a byte slice. The compile-time audit entry and document were removed from m1 and added to m2. The m2 audit describes its recurring scope and process, records m1 build-time and LLVM IR measurements, and lists results and follow-up checks.

Priority: ⬇️ Low

Merge Risk: ⚪ Minimal · up to 66664

The change is mergeable based on the reviewed evidence; no actionable merge-blocking risk remains.

Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed The title clearly identifies the compile-time audit for moq-mux, which is the primary change in the pull request.
Docstring Coverage Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. (2 skipped: 2 …
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Description check Passed The description states the PR finishes the m1 compile-time audit and adds its m2 successor. It also lists the decode change to the fMP4 fragment path (Cursor<&Bytes> to Cursor<&[u8]>), baseline tables…
Full details: Docstring Coverage

Explanation

Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. (2 skipped: 2 unsupported.)

Full details: Description check

Explanation

The description states the PR finishes the m1 compile-time audit and adds its m2 successor. It also lists the decode change to the fMP4 fragment path (Cursor<&Bytes> to Cursor<&[u8]>), baseline tables, and the reported checks. It matches the changeset, which deletes the m1 audit document, adds the m2 audit plan, and edits the fmp4 decode in moq-mux.

✨ Finishing Touches: 💡 1
⚔️ Resolve merge conflicts: 💡
  • Resolve merge conflict in branch quest/m1/audit-compile-time
✨ Simplify code
  • Commit to this branch
  • Create a new PR
  • 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.

@kixelated

Copy link
Copy Markdown
Collaborator Author

Merging. Lands the m1 compile time audit for moq-mux, as the maintainer chose. CI is green, the current head has a non-Grok review, and quest check passes against main.

(Written by Claude Opus 5.5)

@kixelated
kixelated enabled auto-merge October 23, 2026 18:33
# Conflicts:
#	quest/m1/README.md
#	quest/m1/audit-compile-time.md
@kixelated
kixelated added this pull request to the merge queue Oct 23, 2026
@kixelated

Copy link
Copy Markdown
Collaborator Author

Re-merged main twice to clear conflicts and enqueued at c4034b47dfd8b644be50f8bdfe84937df8a99f85.

  • quest/m1/README.md: main finished the m1 artifact size audit while this PR finished the compile time audit, so both entries are gone.
  • quest/m2/README.md: kept main's new usage-rs and artifact size entries, with the compile time successor last.
  • quest/m2/audit-compile-time.md: moq-dev/moq#6176 landed after this run's measurements, so the successor now says that instead of "once it lands". The PR body says the same.

just check and quest check --base origin/main passed. Codex gave the final head a thumbs-up.

(Written by Claude Opus 5.5)

@kixelated
kixelated added this pull request to the merge queue Oct 24, 2026
Merged via the queue into main with commit 9abfd65 Oct 24, 2026
10 checks passed
@kixelated
kixelated deleted the quest/m1/audit-compile-time branch October 24, 2026 02:46
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