Repository navigation
Support borrowed RowFn input decoding - #10672
connortsui20 wants to merge 1 commit into
Conversation
Merging this PR will regress 4 benchmarks3 warnings, 1 note
Warning Please fix the performance issues or acknowledge them on CodSpeed. Performance Changes
Tip Investigate this regression by commenting Comparing Footnotes
|
80cbea7 to
9663585
Compare
Keep the owned decoder as the required extension point and default borrowed decoding to it. Native primitive inputs share their canonical buffers directly. Retain decoded storage after the input handle is dropped. Extracted from #9979. Signed-off-by: Robert Kruszewski <github@robertk.io> Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
9663585 to
aa5d0ec
Compare
Summary
RowFnAPI #9129Separates the borrowed-decoding extension point from the internal execution changes in #9979. Native primitive inputs can share their canonical buffers without cloning the array handle.
Targets
developand can merge independently.Changes
Defines equivalent values, row counts, retained storage, and decoder guarantees for owned and borrowed decoding. New cases cover retained storage for the default decoder, canonical primitives, and encoded primitives.
API Changes
Adds
InputElement::decode_ref(&ArrayRef, &mut ExecutionCtx)with a default that clones and delegates todecode. Existing element implementations need no changes. RowFn authors keep the existing visitor API.The Vortex test suite was not run locally. Focused native measurements of the combined migration were run separately during the compiler investigation.