Skip to content

Comments

Add WASM point scan ABIs & use them in Rust bindings#3863

Merged
Centril merged 2 commits intomasterfrom
centril/point-scan-abi
Dec 12, 2025
Merged

Add WASM point scan ABIs & use them in Rust bindings#3863
Centril merged 2 commits intomasterfrom
centril/point-scan-abi

Conversation

@Centril
Copy link
Contributor

@Centril Centril commented Dec 10, 2025

Description of Changes

Provides new WASM ABIs:

  • datastore_index_scan_point_bsatn
  • datastore_delete_by_index_scan_point_bsatn

These 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.

@Centril Centril requested a review from coolreader18 December 10, 2025 13:27
@Centril Centril force-pushed the centril/wasmtime-pooling-stack-allocator branch 3 times, most recently from dd2be6b to 5edaedc Compare December 10, 2025 23:37
@Centril Centril force-pushed the centril/point-scan-abi branch from 10720e1 to fd58ae1 Compare December 11, 2025 01:38
Base automatically changed from centril/wasmtime-pooling-stack-allocator to master December 11, 2025 08:33
@Centril Centril force-pushed the centril/point-scan-abi branch from fd58ae1 to 74cc11b Compare December 11, 2025 08:38
Copy link
Collaborator

@coolreader18 coolreader18 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can't speak to the datastore stuff (unless you want me to), but the bindings stuff lgtm

Copy link
Collaborator

@coolreader18 coolreader18 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

datastore LGTM

Signed-off-by: Mazdak Farrokhzad <twingoow@gmail.com>
@Centril Centril enabled auto-merge December 12, 2025 21:21
@Centril Centril added this pull request to the merge queue Dec 12, 2025
Merged via the queue into master with commit 492e591 Dec 12, 2025
27 checks passed
@Centril Centril deleted the centril/point-scan-abi branch December 12, 2025 22:54
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
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