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]
