Skip to content

perf(base): seed merge sort with sorted pairs - #2018

Open
toprameen wants to merge 2 commits into
bendlang:mainfrom
toprameen:seed-sort-with-pairs
Open

toprameen wants to merge 2 commits into
bendlang:mainfrom
toprameen:seed-sort-with-pairs

Conversation

@toprameen

Copy link
Copy Markdown
Contributor

List.sort now starts with sorted adjacent pairs instead of building singleton runs and immediately merging them. It reaches the same first-pass state with fewer temporary lists; subsequent merge passes, stable tie ordering, existing helper interfaces and length fuel are unchanged.

On macOS arm64, warmed alternating native workloads over 16,777,216 values improve from 0.478 to 0.383 seconds for 16-item lists and from 1.545 to 1.321 seconds for 4,096-item lists. These process times include input generation and checksums.

The extended fixture tests singleton and pair boundaries, an odd trailing item, and stable equal-key ordering. Local checks pass on native C, Bun and Node, including 312 additional stable-sort cases and boxed values with retained inputs. Repository gate: 54/54; compiler and capped files are unchanged. Full cluster and GPU gates were not run.

@toprameen
toprameen marked this pull request as ready for review November 2, 2026 22:42
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