alamb opened a new issue, #13015:
URL: https://github.com/apache/datafusion/issues/13015

   ### Is your feature request related to a problem or challenge?
   
   Follow on to https://github.com/apache/datafusion/pull/12950
   
   @askalt added a benchmark for planning a benchmark with several aggregates. 
You can run it (with flamegraph) like
   
   Some profiling
   ```shell
   cargo flamegraph --root --bench sql_planner -- --bench 
physical_select_aggregates_from_200
   ```
   
   As can be seen from the flame graphs, a significant amount of the physical 
planning time is spent on creating ProjectionMapping. However, there are many 
other interesting places that can probably be made faster too
   
   
![flamegraph](https://github.com/user-attachments/assets/9885b50f-5dae-4e6e-9b42-196f0dc8759f)
   ![Screenshot 2024-10-19 at 6 50 15 
AM](https://github.com/user-attachments/assets/53f1c5be-f81c-4686-842a-4e6808f576a7)
   ![Screenshot 2024-10-19 at 6 54 00 
AM](https://github.com/user-attachments/assets/c5c666da-6f08-4d6d-bbee-9530ae9f3ccd)
   ![Screenshot 2024-10-19 at 6 56 02 
AM](https://github.com/user-attachments/assets/9c8fbcc7-1f53-491f-a14c-e9bc40ce2223)
   
   
   
   
   ### Describe the solution you'd like
   
   It would be very nice to make this benchmark faster by optimizing these 
codepaths 
   
   
   
   ### Describe alternatives you've considered
   
   Physical Planning could likely be made faster by optimizing 
EquivalenceProperty calculations. However, since it is a small part of the 
overall planning time maybe LogicalPlanning / SQLPlanning are better places to 
start
   
   ### Additional context
   
   _No response_


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to