peter-toth commented on PR #10473: URL: https://github.com/apache/datafusion/pull/10473#issuecomment-2182987502
This PR is more or less ready for review, tests are passing except for the MSRV. I focused only on the 3 performance improvements and deliberately kept the code as close to the original as possible to ease review. I plan to open a follow-up PR to tackle remaining TODOs and refactor CSE code a bit for better readability. Local benchmarks shows good perfroamance improvements, but @alamb please confirm with your standard setup. ``` ptoth@ptoth-MBP16 arrow-datafusion % critcmp main better-cse-identifier group better-cse-identifier main ----- --------------------- ---- logical_aggregate_with_join 1.00 529.3±8.70µs ? ?/sec 1.00 528.4±6.17µs ? ?/sec logical_plan_tpcds_all 1.00 71.3±2.74ms ? ?/sec 1.06 75.4±16.47ms ? ?/sec logical_plan_tpch_all 1.00 7.3±0.19ms ? ?/sec 1.09 7.9±2.34ms ? ?/sec logical_select_all_from_1000 1.02 15.9±2.00ms ? ?/sec 1.00 15.6±1.27ms ? ?/sec logical_select_one_from_700 1.00 399.9±3.73µs ? ?/sec 1.02 408.3±4.29µs ? ?/sec logical_trivial_join_high_numbered_columns 1.00 422.7±92.70µs ? ?/sec 1.00 423.7±88.41µs ? ?/sec logical_trivial_join_low_numbered_columns 1.00 380.5±5.11µs ? ?/sec 1.01 385.3±4.22µs ? ?/sec physical_plan_tpcds_all 1.00 536.8±11.44ms ? ?/sec 1.09 586.2±20.88ms ? ?/sec physical_plan_tpch_all 1.01 38.5±12.88ms ? ?/sec 1.00 38.1±0.59ms ? ?/sec physical_plan_tpch_q1 1.00 1108.3±12.50µs ? ?/sec 1.43 1585.0±12.90µs ? ?/sec physical_plan_tpch_q10 1.00 1598.6±219.13µs ? ?/sec 1.15 1842.3±280.13µs ? ?/sec physical_plan_tpch_q11 1.00 1339.7±14.58µs ? ?/sec 1.15 1540.2±247.46µs ? ?/sec physical_plan_tpch_q12 1.00 1117.3±63.22µs ? ?/sec 1.12 1252.1±17.87µs ? ?/sec physical_plan_tpch_q13 1.00 769.6±19.54µs ? ?/sec 1.12 864.0±12.96µs ? ?/sec physical_plan_tpch_q14 1.00 930.6±216.63µs ? ?/sec 1.16 1081.1±125.78µs ? ?/sec physical_plan_tpch_q16 1.00 1331.4±38.36µs ? ?/sec 1.15 1534.8±261.21µs ? ?/sec physical_plan_tpch_q17 1.00 1209.8±29.88µs ? ?/sec 1.09 1322.0±17.01µs ? ?/sec physical_plan_tpch_q18 1.00 1532.7±240.18µs ? ?/sec 1.04 1593.0±20.68µs ? ?/sec physical_plan_tpch_q19 1.00 2.5±0.08ms ? ?/sec 1.06 2.7±0.04ms ? ?/sec physical_plan_tpch_q2 1.00 3.2±0.70ms ? ?/sec 1.06 3.4±0.72ms ? ?/sec physical_plan_tpch_q20 1.00 1642.3±16.61µs ? ?/sec 1.12 1845.0±302.12µs ? ?/sec physical_plan_tpch_q21 1.00 2.6±0.65ms ? ?/sec 1.07 2.7±0.64ms ? ?/sec physical_plan_tpch_q22 1.00 1196.6±101.79µs ? ?/sec 1.08 1292.8±15.01µs ? ?/sec physical_plan_tpch_q3 1.00 1105.8±28.61µs ? ?/sec 1.23 1358.9±236.19µs ? ?/sec physical_plan_tpch_q4 1.00 852.5±13.28µs ? ?/sec 1.12 957.4±161.05µs ? ?/sec physical_plan_tpch_q5 1.00 1685.6±23.24µs ? ?/sec 1.10 1857.1±21.46µs ? ?/sec physical_plan_tpch_q6 1.00 642.0±188.39µs ? ?/sec 1.01 647.4±12.04µs ? ?/sec physical_plan_tpch_q7 1.00 2.2±0.45ms ? ?/sec 1.08 2.4±0.54ms ? ?/sec physical_plan_tpch_q8 1.00 2.7±0.05ms ? ?/sec 1.08 2.9±0.06ms ? ?/sec physical_plan_tpch_q9 1.00 1964.3±55.93µs ? ?/sec 1.08 2.1±0.04ms ? ?/sec ``` -- 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