Skip to content

fix(xml): preserve mixed nils and scale tagged-item lookup - #142

Closed
nth-bailey wants to merge 11 commits into
perf/xml-runtime-investigationfrom
perf/xml-mixed-branch-index
Closed

nth-bailey wants to merge 11 commits into
perf/xml-runtime-investigationfrom
perf/xml-mixed-branch-index

Conversation

@nth-bailey

@nth-bailey nth-bailey commented Oct 4, 2026 •

Copy link
Copy Markdown
Collaborator

Mixed scalar/nested elements carrying xsi:nil deserialize into ordered tagged nulls, but the writer rejected them. Emit present nil elements with correct namespace bindings, preserving order and the distinction from empty strings.

For large mixed child-tag tables, choose a temporary borrowed-key index using payload size and a bounded sample of lookup work. Preserve first-match duplicate ordering and rebuild after schema metadata edits. Sampling avoids the measured short/concentrated-document regressions of the initial eager index.

Three alternating process pairs show 1,000-item distributed writes about 31% faster with 64 possible tags and 55% faster with 256 (2.23x). Final common-content results improve 2–5%; tiny writes still differ by a few nanoseconds and read controls are roughly flat. Keep the raw process variation and workload limits when reviewing these figures.

Validation: complete gate passes with 324 Rust tests, strict fmt/Clippy, Ruff, and 112 Python tests at 100% statement/branch coverage. Tests cover ordered nils and independently resolve output namespaces, plus indexed records/objects, duplicate ordering, metadata edits and unknown kinds.

Report and raw evidence include every positive/negative prototype, exact source patches, matching harness/locks, allocation diagnostics, instruction profiles and rejected preflights.

Stacked on #137. Main is unchanged; keep this draft for correctness/performance review.

Criterion process JSON is retained in verified per-experiment archives, with every original member checksum and the packaging script, to keep the code diff reviewable.

@nth-bailey nth-bailey closed this Oct 4, 2026
@nth-bailey
nth-bailey deleted the perf/xml-mixed-branch-index branch October 4, 2026 04:14
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