alamb commented on PR #13018: URL: https://github.com/apache/datafusion/pull/13018#issuecomment-2435068514
I may be misreading this, but it seems like columnize_output_expr is called in a loop for each expression being projected: https://github.com/apache/datafusion/blob/ac827abe1b66b1dfa02ce65ae857477f68667843/datafusion/expr/src/logical_plan/builder.rs#L1505-L1511 However, then for each expr it builds up the same hash table: https://github.com/apache/datafusion/blob/ac827abe1b66b1dfa02ce65ae857477f68667843/datafusion/expr/src/utils.rs#L879-L883 Maybe we could refactor the code so the hash table is built once rather than once per expression? Something like ```rust let columizer = Columnizer(plan); for e in exprs { columnizer.columnize(e) } ``` 🤔 -- 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: github-unsubscr...@datafusion.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For additional commands, e-mail: github-h...@datafusion.apache.org