wgtmac opened a new pull request, #55449: URL: https://github.com/apache/arrow/pull/55449
### Rationale for this change There are some follow-up items after merging https://github.com/apache/arrow/pull/48345. ### What changes are included in this PR? - Add `WriterProperties::Builder::alp_vector_size()`. - Accept unsorted exception positions while validating every position and reserve the existing compiler optimization hints when positions are strictly increasing. - Load encoding and decoding multipliers before value loops. - Serialize each vector immediately instead of retaining all encoded vectors and a separate offset array. - Use stack storage for second-level sampling, avoiding a sample allocation for each vector parameter search. - Cache a column-chunk preset after processing at least 122,880 non-null values. Earlier pages continue to build their own presets, and each vector still selects from the candidate combinations. - Size `PutSpaced()` temporary storage by the non-null count and avoid allocation for empty or all-null input. ### Are these changes tested? Yes. ### Are there any user-facing changes? Yes. Writers can configure the ALP vector size globally through writer properties. Readers accept unsorted and duplicate exception positions. The default vector size and ALP wire format are unchanged. ### Was AI used for this PR? AI assisted with implementation, review, test execution, and benchmarking. **PR code and description written by:** - [x] Human - [x] AI **Reviewed before submission by:** - [x] Human - [ ] AI - [ ] Not reviewed -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
