sadboy commented on PR #7942:
URL: 
https://github.com/apache/arrow-datafusion/pull/7942#issuecomment-1863905902

   > This change has the advantages over the value consuming and producing fn 
mutate(&mut self, node: Self::N) -> Result<Self::N> that the self mutating 
behaviour encourage developers to reuse the exsinting objects / memory 
allocations so as to write more effective transformation closures.
   
   Regarding this point -- it is possible to avoid the mem allocation under the 
current consume-produce API model (there's actually a "TODO" item for this in 
the code, lol). I made a draft change here: 
https://github.com/apache/arrow-datafusion/pull/8591
   
   However, I did some quick tests on some of our workloads, and observed no 
perf changes before and after this change :( My guess is that Rust is somehow 
smart enough to optimize away the memory allocations already.


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