Skip to content

fix(latency): a processor-boundary crossing is decided by the processor each binding resolves to, not by its text (#498) - #505

Merged
avrabe merged 1 commit into
mainfrom
fix/binding-consumers-latency
Oct 21, 2026
Merged

avrabe merged 1 commit into
mainfrom
fix/binding-consumers-latency

Conversation

@avrabe

@avrabe avrabe commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

Latency compared the Actual_Processor_Binding TEXT of consecutive flow
steps, both in the latency walk (where a crossing adds
Inter_Processor_Overhead) and in the "crosses processor boundaries"
note. On the published v0.46.0 binary, a flow whose t1 is bound by
Node.impl to cpu and whose t2 is bound by Top.impl to left.cpu
(one processor) is a "crossing":

  • the note fires: "end-to-end flow 'e' crosses processor boundaries but
    no ... communication delay";
  • with 5 ms of Inter_Processor_Overhead on the owner, the latency is
    [2 .. 9] ms instead of [2 .. 4] ms.

Both sites now key on ProcessorGroups (from #500): the processor the
binding resolves to from its declarer, or the text when it does not
resolve.

Oracles:

  • CLI tests: the note (red on v0.46.0), the overhead figure (red on
    v0.46.0), and a negative control where t2 really is on another
    processor and the crossing is still reported;
  • full-output corpus diff, v0.46.0 vs this build: 217 binding files,
    462 runs, 451 instantiating, identical on every run;
  • mutants: cargo-mutants 1 caught, 1 unviable. The walk's key reverted to
    the raw text SURVIVED until the overhead test was written, and is now
    caught.

rivet: REQ-AADL-BINDING-CONSUMERS-001's progress text is not edited
here, because #503 edits the same text; it is updated after both land.

Refs #498

🤖 Generated with Claude Code

https://claude.ai/code/session_01BnBWxgVEUPdsBTLNKtrA6Z

@github-actions

Copy link
Copy Markdown

Rivet verification gate

✅ 20/20 passed

count
Passed 20
Failed 0
Skipped (no steps) 0

Filter: (and (= type "feature") (or (has-tag "v093") (has-tag "v0100")))

Failed artifacts

(none)

Updated automatically by tools/post_verification_comment.py. Source of truth: artifacts/verification.yaml.

@codecov

codecov Bot commented Oct 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

…or each binding resolves to, not by its text (#498)

Latency compared the Actual_Processor_Binding TEXT of consecutive flow
steps, both in the latency walk (where a crossing adds
Inter_Processor_Overhead) and in the "crosses processor boundaries"
note. On the published v0.46.0 binary, a flow whose `t1` is bound by
Node.impl to `cpu` and whose `t2` is bound by Top.impl to `left.cpu`
(one processor) is a "crossing":

- the note fires: "end-to-end flow 'e' crosses processor boundaries but
  no ... communication delay";
- with 5 ms of Inter_Processor_Overhead on the owner, the latency is
  [2 .. 9] ms instead of [2 .. 4] ms.

Both sites now key on ProcessorGroups (from #500): the processor the
binding resolves to from its declarer, or the text when it does not
resolve.

Oracles:
- CLI tests: the note (red on v0.46.0), the overhead figure (red on
  v0.46.0), and a negative control where t2 really is on another
  processor and the crossing is still reported;
- full-output corpus diff, v0.46.0 vs this build: 217 binding files,
  462 runs, 451 instantiating, identical on every run;
- mutants: cargo-mutants 1 caught, 1 unviable. The walk's key reverted to
  the raw text SURVIVED until the overhead test was written, and is now
  caught.

rivet: REQ-AADL-BINDING-CONSUMERS-001's progress text is not edited
here, because #503 edits the same text; it is updated after both land.

Refs #498

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BnBWxgVEUPdsBTLNKtrA6Z
@avrabe
avrabe force-pushed the fix/binding-consumers-latency branch from 0dd9d50 to 6a16116 Compare October 21, 2026 00:50
@avrabe
avrabe merged commit d466941 into main Oct 21, 2026
21 checks passed
@avrabe
avrabe deleted the fix/binding-consumers-latency branch October 21, 2026 04:57
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