Repository navigation
Dispatch filter take of fixed-width values on byte width - #10736
Conversation
78921f2 to
c989232
Compare
Merging this PR will degrade performance by 10.53%4 warnings, 1 note
Warning Please fix the performance issues or acknowledge them on CodSpeed. Performance Changes
Tip Investigate this regression by commenting Comparing Footnotes
|
connortsui20
left a comment
There was a problem hiding this comment.
the speedups might be real?
c989232 to
ef4aa3f
Compare
|
they could be mostly due to different inlining |
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 <github@robertk.io> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ef4aa3f to
2f89abc
Compare
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)