Skip to content

Avoid RangeSet node reallocations for right-growing merges - #63

Closed
Majed-allababedi wants to merge 1 commit into
Jetsku:mainfrom
Majed-allababedi:perf/int19.4-rangeset-inplace-merge
Closed

Majed-allababedi wants to merge 1 commit into
Jetsku:mainfrom
Majed-allababedi:perf/int19.4-rangeset-inplace-merge

Conversation

@Majed-allababedi

@Majed-allababedi Majed-allababedi commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Avoid erasing and reallocating the first std::map node when RangeSet::Add grows an existing interval without changing its start. Preserve the contained-range fast path, extend the retained node endpoint, and erase only absorbed successors. New-start/left-growing/disjoint insertion, End() validation, synchronization, and renderer/coherence ordering remain unchanged.

Adds standalone RangeSet semantics/allocation tests and registers them with CTest, kyty_tests, and the Windows U59 CI build/test lists.

This PR also updates two stale Windows INSERTQ test expectations to match the project's selected zero-upper-lane emulation behavior. It does not change production INSERTQ code. The ISA leaves these bits undefined; zero is the project-selected behavior, not a universally mandated result. The isolated test correction addresses the failures documented on superseded PR #36.

Verification

  • Exact upstream main base: 5c3b39f76de85a0dc3292176ee04e85825ab47fb.
  • Tested int19.4 source: c9b54080d42ca0eaddbbe5bab6714bbb53e67c1f; local Windows Release tests passed 9/9, including RangeSet, all five VM variants, memory_tracker, page_manager, and amd_cpu_emulation.
  • Exact-base allocation tests distinguish old and new behavior: eligible merges allocate zero nodes while absorbed successors are still freed. The standalone suite also checks 60,000 randomized mutations and 240,000 queries against an independent byte model.
  • The release source and existing independent reviews cover the tested code; this PR does not claim that remote CI has passed. Component benchmarks are not game-FPS measurements.

Release source/tag: u59-int19.4-rangeset-windows-local-v1.

Jetsku added a commit that referenced this pull request Oct 20, 2026
…into gtapipe

Co-Authored-By: Jetsku <59046009+Jetsku@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Jetsku

Jetsku commented Oct 24, 2026

Copy link
Copy Markdown
Owner

Has been merged and added to a release

@Jetsku Jetsku closed this Oct 24, 2026
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