brancz opened a new pull request, #37455:
URL: https://github.com/apache/arrow/pull/37455

   
   ### Rationale for this change
   
   Recursively reserving on every append is extremely expensive. This is not 
fundamentally necessary, it is meant to try to save CPU cycles, but in fact 
because it requires tons of dynamic dispatch (because of interfaces), when 
appending a lot even though you correctly reserved previously you will waste 
tons of CPU cycles.
   
   ### What changes are included in this PR?
   
   Only reserve space in the validity bitmap of the struct itself.
   
   ### Are these changes tested?
   
   Tests are passing and we've successfully deployed and validated the 
improvement on Polar Signals Cloud.
   
   ### Are there any user-facing changes?
   
   It's not an API change, but there is a slight change in behavior, which 
users should not notice since if reserving is still necessary for the children, 
then the children builder will perform it automatically. I believe this is only 
a positive improvement in every direction.
   
   cc @zeroshade 


-- 
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]

Reply via email to