Skip to content

Corgi unit value diversion - #870

Open
frankmcsherry wants to merge 3 commits into
TimelyDataflow:master-nextfrom
frankmcsherry:corgi-unit-value-diversion
Open

Corgi unit value diversion#870
frankmcsherry wants to merge 3 commits into
TimelyDataflow:master-nextfrom
frankmcsherry:corgi-unit-value-diversion

Conversation

@frankmcsherry

Copy link
Copy Markdown
Member

Divert computation in a reduce whose values are UNIT, as would be the case in a distinct operator, or similar.

Use unit_output() for output handling and resolves_input_payloads() for
the current input resolution path. Count remains on that general path;
a later diff-only implementation can opt out without changing presentation.
Register PresentedIds through the existing value registration helper,
restore the negative-weight rationale, assert bracket lengths, and rename
the unit-value test module without changing its oracle tests.

For context, four-process maintenance medians for diversion 566e753
against master-next 626c80c were Reach 100.03 -> 91.18 ms/epoch (-8.8%),
pair-key Reach 120.35 -> 111.34 (-7.5%), and SCC 530.92 -> 531.08 (within
run spread). Apple M4, one worker, mimalloc, release/LTO, averaging epochs
6-25; Reach 200k nodes/400k edges, SCC 100k/200k, 1k replacements/epoch.
These measure the entire diversion, not inserts/gather in isolation, and
predate this helper/comment cleanup. Compound input hashes remain;
unit IDs, resolution pools, correction maps and output indices are avoided.

Validation: 133 selected Rust tests passed, 2 existing ignores;
git diff --check passed. Count's existing positive-only semantics are
unchanged in both DDIR backends, despite differing from signed DD count.
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