Add WASM point scan ABIs & use them in Rust bindings#3863
Merged
Conversation
dd2be6b to
5edaedc
Compare
10720e1 to
fd58ae1
Compare
Base automatically changed from
centril/wasmtime-pooling-stack-allocator
to
master
December 11, 2025 08:33
fd58ae1 to
74cc11b
Compare
coolreader18
approved these changes
Dec 12, 2025
Collaborator
coolreader18
left a comment
There was a problem hiding this comment.
Can't speak to the datastore stuff (unless you want me to), but the bindings stuff lgtm
Centril
commented
Dec 12, 2025
Signed-off-by: Mazdak Farrokhzad <twingoow@gmail.com>
1 task
rekhoff
pushed a commit
that referenced
this pull request
Jan 6, 2026
# Description of Changes TS equivalent of #3863. I also did optimized single-column indices such that there's a special case that avoids branching. # Expected complexity level and risk 1 - straightforward and there's Rust precedent to draw from. # Testing - [x] Automated testing is sufficient
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.
Description of Changes
Provides new WASM ABIs:
datastore_index_scan_point_bsatndatastore_delete_by_index_scan_point_bsatnThese are then used where applicable to speed up
.find(_)and friends.Point scans are also used more internally where applicable.
What remains after this is use in C# module bindings and to expose this in TS as well.
The PR makes TPS go from roughly 36k to 38k TPS on my machine and also makes a difference in flamegraphs where the time spent in some index scans are substantially decreased.
API and ABI breaking changes
None
Expected complexity level and risk
3? This touches the datastore an how we expose it to modules.
Testing
Some existing tests now exercise the new ABIs by changing what
.find(_)and friends do.