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

Reply via email to