Avatar for the vortex-data user
vortex-data
vortex
BlogDocsChangelog

Performance History

Latest Results

Fix TurboQuant centroid initialization wasting most codes at high dimensions Seed Lloyd-Max centroids on ±sqrt(bit_width)·sigma instead of the full support [-1, 1], so they start where the rotated-coordinate marginal has mass and no cell freezes in the zero-mass tails. The same change lands in both centroid implementations (vortex-tensor and vortex-turboquant), kept in sync by the cross-crate parity test, with a regression test and an ignored sweep harness. Signed-off-by: mprammer <martin@spiraldb.com> Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
mp/tq-centroid-init
1 hour ago
perf: remove implicit `ListViewArray` rebuild during `take` and `filter` operations (#8048) ## Summary Removes implicit rebuilds from `ListViewArray` `take` and `filter` compute kernels, adds density-introspection methods to support deciding when to rebuild explicitly at materialization boundaries, and defers rebuilding until array export to duckdb and arrow. **Motivation.** The previous code rebuilt the elements buffer eagerly on every `take` or `filter` whose row-fraction dropped below `REBUILD_DENSITY_THRESHOLD`. In an execution tree like `take → take → ...`, an eager mid-pipeline rebuild costs an allocation and a full copy of referenced ranges that the next operator may immediately sparsify away. The row-fraction heuristic was also inaccurate. It doesn't account for per-row size variance, unreferenced elements, and duplicate references. Instead, `ListViewArray::estimate_density` uses sum of `sizes` instead of row-fraction. This will overestimate density when there are overlapping references, but it is typically preferable to not compact. **Changes:** - **Drop implicit rebuild from `TakeReduce::take` and `TakeExecute::take`** - **Drop implicit rebuild from `filter_listview`** - **Add methods to calculate reference density**: `compute_referenced_elements_mask`, `compute_density`, and `estimate_density` - **Estimate density and conditionally rebuild on export boundaries for duckdb and arrow** ## API Changes Adds `ListViewArray::estimate_density`, `ListViewArray::compute_density`, and `ListViewArray::compute_referenced_elements_mask`. ## Testing - New `vortex-array/src/arrays/listview/tests/density.rs` --------- Signed-off-by: Matthew Katz <katz@spiraldb.com> Co-authored-by: Matt Katz <mattkatz@Matts-MacBook-Pro.local> Co-authored-by: Matt Katz <mattkatz@Matts-MBP.localdomain> Co-authored-by: Matthew Katz <katz@spiraldb.com>
develop
9 hours ago

Latest Branches

CodSpeed Performance Gauge
-16%
Fix TurboQuant centroid initialization wasting most codes at high dimensions#8076
57 minutes ago
8db4b68
mp/tq-centroid-init
CodSpeed Performance Gauge
+11%
Fuse validity-aware min/max with the value conversion in primitive cast#8074
1 day ago
7f4dfd7
claude/fast-f-to-t-cast-7JrNR
CodSpeed Performance Gauge
-5%
1 day ago
0d0cec8
aduffy/geo-v0
© 2026 CodSpeed Technology
Home Terms Privacy Docs