You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Insert scales sub-linearly: 100K is ~12x the cost of 10K
(not 10x) due to deeper tree traversal at larger sizes.
Bulk load is 8-9x faster than incremental insert at 100K,
since STR avoids per-entry split overhead.
RStar queries are 10-15% faster than Linear at 100K due to
less bounding-box overlap. The insert cost trade-off is worthwhile
for read-heavy workloads.
Nearest-neighbor scales well: k=10 at 100K takes only 610 ns
thanks to priority-queue pruning with min_dist_sq.
3D nearest is ~2x slower than 2D at the same size, reflecting
the extra dimension in distance computation and larger node
bounding boxes.
Branchless min_dist_sq compiles to fmaxnm + fmadd on
aarch64, eliminating branch misprediction in the hot query path.
Benchmark Groups
Group
What It Measures
insert
Incremental insert (RStar default, Linear at 10K)
bulk_load
STR bulk load
region_query
Region intersection query (5% area window)
nearest_query
k-NN query (k=10)
radius_query
Radius query (r=50)
remove
Removal with condense_tree
split_strategies
Combined insert+query (historical baseline)
query_strategies
Per-operation Linear vs RStar on pre-built indexes