Repository navigation
Dispatch filter take of fixed-width values on byte width - #10736
robert3005 wants to merge 1 commit into
Conversation
The filter take kernel copies values and does not inspect them, but it was compiled for each of the 17 primitive and decimal value types. The primitive and decimal paths now reinterpret the values buffer by byte width, so six kernels (1, 2, 4, 8, 16 and 32 bytes) serve all types. The reinterpretation does not copy data. vortex-array release __text: 14,012,988 -> 13,808,764 bytes (-204 KB). Signed-off-by: Robert Kruszewski <robert@spiraldb.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
78921f2 to
c989232
Compare
Merging this PR will regress 2 benchmarks4 warnings, 1 note
Warning Please fix the performance issues or acknowledge them on CodSpeed. Performance Changes
Tip Investigate this regression by commenting Comparing Footnotes
|
The filter take kernel for fixed-width values copies values and does not inspect them, but it was compiled for each of the 17 primitive and decimal value types, for each of the 8 index types.
take_primitiveandtake_decimalnow reinterpret the values buffer by its byte width, so six kernels (1, 2, 4, 8, 16 and 32 bytes) serve all value types. The reinterpretation does not copy data, and the per-element loop is the same.vortex-arrayrelease__text(macOS arm64)