store: batch create.loc window preads and SIMD prefix - #504
Merged
Merged
Conversation
Leftover lookup was a libc loop of full 1024-create windows. Read and sum only through the highest fk in each window, issue those preads as one bulk batch (held head-resolve session or pread_batch), and prefix-sum non-overflow slots with SSE2. No cross-window loc cache. Co-authored-by: Cursor <cursoragent@cursor.com>
Darwin CI and Release zips are aarch64. Same 8-wide u8<<3 inclusive scan as SSE2; Darwin smoke runs the scalar golden so NEON is pinned. Co-authored-by: Cursor <cursoragent@cursor.com>
SIMD stays the shipped prefix on x86_64/aarch64 in test binaries; the scalar helper is only the golden. Native OS smoke now runs the prefix tests so SSE2 and NEON are not Linux-suite-only. Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
create.locby reading and prefix-summing only through the highest fk in each 1024-create window (not the unused tail) and issuing those window preads as one bulk batch (held head-resolve session orpread_batch).u8<<3inclusive prefix (SSE2 on x86_64, NEON on aarch64). No cross-window loc cache.prefix_sum_fast_matches_scalarso Apple silicon pins NEON against the scalar golden (Linux CI already runs it on SSE2).Test plan
cargo test -p rbitcoin-store --lib -- prefix_sum_fast_matches_scalar loc_window_need_n range_batch_multi_windowcargo clippy -p rbitcoin-store --lib --tests -- -D warningsscripts/ci-os-smoke.test.shfmt,deny,clippy,ast-grep,test,windows,macos,multinode,coverage)Made with Cursor