Skip to content

Move Set containers to sequence storage - #981

Draft
ezrosent wants to merge 1 commit into
codex/inline-containers-07-mapfrom
codex/inline-containers-08-set
Draft

Move Set containers to sequence storage#981
ezrosent wants to merge 1 commit into
codex/inline-containers-07-mapfrom
codex/inline-containers-08-set

Conversation

@ezrosent

@ezrosent ezrosent commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Encode sets as a rebuild flag followed by sorted, unique values.
  • Implement reads and edits directly over sequence slices.
  • Implement union, difference, and intersection as linear merges of canonical sorted sequences.
  • Cover the slice algebra exhaustively against BTreeSet and add nested dirty-propagation tests.

Stack

Draft, stacked on #980. This is PR 8 of 12 in the sequence-backed container stack.

Validation

Validated on the complete 12-commit stack:

  • cargo nextest run --workspace: 1,362 tests passed
  • cargo test --workspace --doc
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo fmt --all -- --check

@codecov-commenter

codecov-commenter commented Aug 5, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 92.87599% with 27 lines in your changes missing coverage. Please review.
✅ Project coverage is 87.87%. Comparing base (4a80623) to head (0481cf8).

Files with missing lines Patch % Lines
src/sort/set.rs 92.87% 27 Missing ⚠️
Additional details and impacted files
@@                        Coverage Diff                         @@
##           codex/inline-containers-07-map     #981      +/-   ##
==================================================================
+ Coverage                           87.84%   87.87%   +0.02%     
==================================================================
  Files                                  98       98              
  Lines                               38368    38738     +370     
==================================================================
+ Hits                                33706    34040     +334     
- Misses                               4662     4698      +36     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@codspeed-hq

codspeed-hq Bot commented Aug 5, 2026

Copy link
Copy Markdown

Merging this PR will improve performance by ×5.8

⚡ 1 improved benchmark
✅ 36 untouched benchmarks
⏩ 227 skipped benchmarks1

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation tests[repro-665-set-union] 634.8 ms 109.2 ms ×5.8

Tip

Curious why this is faster? Comment @codspeedbot explain why this is faster on this PR, or directly use the CodSpeed MCP with your agent.


Comparing codex/inline-containers-08-set (0481cf8) with codex/inline-containers-07-map (0c46b35)2

Open in CodSpeed

Footnotes

  1. 227 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

  2. No successful run was found on codex/inline-containers-07-map (4a80623) during the generation of this report, so ba5c36e was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

@ezrosent
ezrosent force-pushed the codex/inline-containers-08-set branch from 9adf95a to 0481cf8 Compare August 6, 2026 05:34
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.

2 participants