You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@datafusion.apache.org by "Weijun-H (via GitHub)" <gi...@apache.org> on 2024/12/06 14:30:30 UTC
[PR] refactor: replace `Vec` with `IndexMap` for expression mappings in `ProjectionMapping` and `EquivalenceGroup` [datafusion]
Weijun-H opened a new pull request, #13675:
URL: https://github.com/apache/datafusion/pull/13675
## Which issue does this PR close?
<!--
We generally require a GitHub issue to be filed for all bug fixes and enhancements and this helps us generate change logs for our releases. You can link an issue to this PR using the GitHub syntax. For example `Closes #123` indicates that this PR will close issue #123.
-->
Closes #8027
## Rationale for this change
<!--
Why are you proposing this change? If this is already explained clearly in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand your changes and offer better suggestions for fixes.
-->
## What changes are included in this PR?
<!--
There is no need to duplicate the description in the issue here but it is sometimes worth providing a summary of the individual changes in this PR.
-->
## Are these changes tested?
<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code
If tests are not included in your PR, please explain why (for example, are they covered by existing tests)?
-->
## Are there any user-facing changes?
<!--
If there are user-facing changes then we may require documentation to be updated before approving the PR.
-->
<!--
If there are any breaking changes to public APIs, please add the `api change` label.
-->
--
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-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] refactor: replace `Vec` with `IndexMap` for expression mappings in `ProjectionMapping` and `EquivalenceGroup` [datafusion]
Posted by "comphead (via GitHub)" <gi...@apache.org>.
comphead commented on code in PR #13675:
URL: https://github.com/apache/datafusion/pull/13675#discussion_r1873717759
##########
datafusion/physical-expr/src/equivalence/class.rs:
##########
@@ -546,20 +546,15 @@ impl EquivalenceGroup {
.collect::<Vec<_>>();
(new_class.len() > 1).then_some(EquivalenceClass::new(new_class))
});
- // TODO: Convert the algorithm below to a version that uses `HashMap`.
- // once `Arc<dyn PhysicalExpr>` can be stored in `HashMap`.
- // See issue: https://github.com/apache/datafusion/issues/8027
- let mut new_classes = vec![];
+ let mut new_classes: IndexMap<Arc<dyn PhysicalExpr>, Vec<Arc<dyn PhysicalExpr>>> =
Review Comment:
should we comment what is the key and what is the value in the map? PhyExpr is too abstract imho
--
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-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] refactor: replace `Vec` with `IndexMap` for expression mappings in `ProjectionMapping` and `EquivalenceGroup` [datafusion]
Posted by "Weijun-H (via GitHub)" <gi...@apache.org>.
Weijun-H commented on PR #13675:
URL: https://github.com/apache/datafusion/pull/13675#issuecomment-2523405600
Comparing main and 8027-refactor-hashmap
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query ┃ main ┃ 8027-refactor-hashmap ┃ Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0 │ 0.97ms │ 0.98ms │ no change │
│ QQuery 1 │ 21.87ms │ 21.41ms │ no change │
│ QQuery 2 │ 61.49ms │ 61.90ms │ no change │
│ QQuery 3 │ 53.79ms │ 50.27ms │ +1.07x faster │
│ QQuery 4 │ 487.56ms │ 480.60ms │ no change │
│ QQuery 5 │ 555.74ms │ 543.07ms │ no change │
│ QQuery 6 │ 21.94ms │ 21.20ms │ no change │
│ QQuery 7 │ 24.40ms │ 25.00ms │ no change │
│ QQuery 8 │ 545.35ms │ 531.48ms │ no change │
│ QQuery 9 │ 786.47ms │ 770.72ms │ no change │
│ QQuery 10 │ 166.09ms │ 167.21ms │ no change │
│ QQuery 11 │ 196.84ms │ 185.32ms │ +1.06x faster │
│ QQuery 12 │ 602.89ms │ 581.94ms │ no change │
│ QQuery 13 │ 914.99ms │ 888.98ms │ no change │
│ QQuery 14 │ 547.97ms │ 545.92ms │ no change │
│ QQuery 15 │ 612.45ms │ 587.96ms │ no change │
│ QQuery 16 │ 1480.77ms │ 1541.43ms │ no change │
│ QQuery 17 │ 1693.64ms │ 1427.02ms │ +1.19x faster │
│ QQuery 18 │ 3916.78ms │ 4017.24ms │ no change │
│ QQuery 19 │ 52.20ms │ 42.11ms │ +1.24x faster │
│ QQuery 20 │ 801.96ms │ 792.72ms │ no change │
│ QQuery 21 │ 1050.13ms │ 978.86ms │ +1.07x faster │
│ QQuery 22 │ 2233.94ms │ 2162.89ms │ no change │
│ QQuery 23 │ 6605.51ms │ 6519.18ms │ no change │
│ QQuery 24 │ 326.86ms │ 339.90ms │ no change │
│ QQuery 25 │ 289.28ms │ 279.66ms │ no change │
│ QQuery 26 │ 362.83ms │ 363.68ms │ no change │
│ QQuery 27 │ 1241.79ms │ 1281.32ms │ no change │
│ QQuery 28 │ 9625.06ms │ 9604.01ms │ no change │
│ QQuery 29 │ 431.03ms │ 418.31ms │ no change │
│ QQuery 30 │ 516.65ms │ 517.60ms │ no change │
│ QQuery 31 │ 562.50ms │ 555.30ms │ no change │
│ QQuery 32 │ 4386.17ms │ 4233.59ms │ no change │
│ QQuery 33 │ 5473.53ms │ 4932.46ms │ +1.11x faster │
│ QQuery 34 │ 5346.18ms │ 4633.18ms │ +1.15x faster │
│ QQuery 35 │ 871.30ms │ 806.65ms │ +1.08x faster │
│ QQuery 36 │ 112.65ms │ 103.23ms │ +1.09x faster │
│ QQuery 37 │ 48.62ms │ 47.65ms │ no change │
│ QQuery 38 │ 72.45ms │ 68.87ms │ no change │
│ QQuery 39 │ 201.16ms │ 190.58ms │ +1.06x faster │
│ QQuery 40 │ 24.14ms │ 21.81ms │ +1.11x faster │
│ QQuery 41 │ 22.72ms │ 19.47ms │ +1.17x faster │
│ QQuery 42 │ 29.32ms │ 27.06ms │ +1.08x faster │
└──────────────┴───────────┴───────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary ┃ ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (main) │ 53380.00ms │
│ Total Time (8027-refactor-hashmap) │ 51389.71ms │
│ Average Time (main) │ 1241.40ms │
│ Average Time (8027-refactor-hashmap) │ 1195.11ms │
│ Queries Faster │ 13 │
│ Queries Slower │ 0 │
│ Queries with No Change │ 30 │
└──────────────────────────────────────┴────────────┘
--
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-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] refactor: replace `Vec` with `IndexMap` for expression mappings in `ProjectionMapping` and `EquivalenceGroup` [datafusion]
Posted by "Weijun-H (via GitHub)" <gi...@apache.org>.
Weijun-H commented on PR #13675:
URL: https://github.com/apache/datafusion/pull/13675#issuecomment-2533645128
> I see much less difference this time 🤔 (I also ran `cargo update` which might have helped)
>
> ```
> ++ critcmp main 8027-refactor-hashmap
> group 8027-refactor-hashmap main
> ----- --------------------- ----
> logical_aggregate_with_join 1.00 1488.6±14.22µs ? ?/sec 1.00 1485.6±13.32µs ? ?/sec
> logical_select_all_from_1000 1.01 5.3±0.03ms ? ?/sec 1.00 5.3±0.02ms ? ?/sec
> logical_select_one_from_700 1.01 1197.6±43.93µs ? ?/sec 1.00 1182.6±29.15µs ? ?/sec
> logical_trivial_join_high_numbered_columns 1.01 1156.1±12.46µs ? ?/sec 1.00 1147.7±13.89µs ? ?/sec
> logical_trivial_join_low_numbered_columns 1.00 1140.9±18.42µs ? ?/sec 1.00 1137.8±24.82µs ? ?/sec
> physical_intersection 1.01 2.4±0.03ms ? ?/sec 1.00 2.4±0.02ms ? ?/sec
> physical_join_consider_sort 1.01 3.3±0.02ms ? ?/sec 1.00 3.3±0.04ms ? ?/sec
> physical_join_distinct 1.01 1134.1±17.15µs ? ?/sec 1.00 1120.3±15.60µs ? ?/sec
> physical_many_self_joins 1.02 17.4±0.10ms ? ?/sec 1.00 17.1±0.10ms ? ?/sec
> physical_plan_clickbench_all 1.00 229.4±2.10ms ? ?/sec 1.00 229.4±1.97ms ? ?/sec
> physical_plan_clickbench_q1 1.00 3.3±0.03ms ? ?/sec 1.00 3.3±0.04ms ? ?/sec
> physical_plan_clickbench_q10 1.00 4.4±0.05ms ? ?/sec 1.00 4.4±0.05ms ? ?/sec
> physical_plan_clickbench_q11 1.00 4.5±0.06ms ? ?/sec 1.00 4.5±0.12ms ? ?/sec
> physical_plan_clickbench_q12 1.00 4.7±0.07ms ? ?/sec 1.00 4.7±0.06ms ? ?/sec
> physical_plan_clickbench_q13 1.01 4.3±0.08ms ? ?/sec 1.00 4.3±0.04ms ? ?/sec
> physical_plan_clickbench_q14 1.00 4.5±0.07ms ? ?/sec 1.00 4.5±0.08ms ? ?/sec
> physical_plan_clickbench_q15 1.00 4.4±0.07ms ? ?/sec 1.00 4.4±0.08ms ? ?/sec
> physical_plan_clickbench_q16 1.00 3.8±0.07ms ? ?/sec 1.00 3.8±0.05ms ? ?/sec
> physical_plan_clickbench_q17 1.00 3.9±0.05ms ? ?/sec 1.00 3.9±0.06ms ? ?/sec
> physical_plan_clickbench_q18 1.00 3.6±0.07ms ? ?/sec 1.00 3.6±0.06ms ? ?/sec
> physical_plan_clickbench_q19 1.01 4.6±0.07ms ? ?/sec 1.00 4.5±0.05ms ? ?/sec
> physical_plan_clickbench_q2 1.00 3.6±0.04ms ? ?/sec 1.00 3.6±0.04ms ? ?/sec
> physical_plan_clickbench_q20 1.00 3.4±0.04ms ? ?/sec 1.00 3.4±0.04ms ? ?/sec
> physical_plan_clickbench_q21 1.00 3.6±0.06ms ? ?/sec 1.00 3.6±0.05ms ? ?/sec
> physical_plan_clickbench_q22 1.00 4.6±0.07ms ? ?/sec 1.00 4.6±0.08ms ? ?/sec
> physical_plan_clickbench_q23 1.00 5.1±0.08ms ? ?/sec 1.00 5.1±0.07ms ? ?/sec
> physical_plan_clickbench_q24 1.00 5.8±0.11ms ? ?/sec 1.01 5.8±0.07ms ? ?/sec
> physical_plan_clickbench_q25 1.00 4.0±0.06ms ? ?/sec 1.00 4.0±0.04ms ? ?/sec
> physical_plan_clickbench_q26 1.00 3.7±0.06ms ? ?/sec 1.00 3.7±0.04ms ? ?/sec
> physical_plan_clickbench_q27 1.00 4.0±0.09ms ? ?/sec 1.00 4.0±0.06ms ? ?/sec
> physical_plan_clickbench_q28 1.00 4.8±0.08ms ? ?/sec 1.00 4.8±0.09ms ? ?/sec
> physical_plan_clickbench_q29 1.00 5.9±0.13ms ? ?/sec 1.00 5.9±0.08ms ? ?/sec
> physical_plan_clickbench_q3 1.00 3.6±0.04ms ? ?/sec 1.00 3.5±0.04ms ? ?/sec
> physical_plan_clickbench_q30 1.00 16.8±0.23ms ? ?/sec 1.00 16.8±0.21ms ? ?/sec
> physical_plan_clickbench_q31 1.00 4.9±0.08ms ? ?/sec 1.00 4.9±0.07ms ? ?/sec
> physical_plan_clickbench_q32 1.01 4.9±0.08ms ? ?/sec 1.00 4.8±0.05ms ? ?/sec
> physical_plan_clickbench_q33 1.00 4.4±0.06ms ? ?/sec 1.00 4.4±0.08ms ? ?/sec
> physical_plan_clickbench_q34 1.00 3.9±0.05ms ? ?/sec 1.00 3.9±0.04ms ? ?/sec
> physical_plan_clickbench_q35 1.00 4.1±0.05ms ? ?/sec 1.00 4.1±0.05ms ? ?/sec
> physical_plan_clickbench_q36 1.00 5.2±0.07ms ? ?/sec 1.00 5.2±0.07ms ? ?/sec
> physical_plan_clickbench_q37 1.00 5.3±0.07ms ? ?/sec 1.00 5.3±0.07ms ? ?/sec
> physical_plan_clickbench_q38 1.00 5.3±0.07ms ? ?/sec 1.00 5.3±0.08ms ? ?/sec
> physical_plan_clickbench_q39 1.00 4.8±0.07ms ? ?/sec 1.00 4.8±0.07ms ? ?/sec
> physical_plan_clickbench_q4 1.00 3.3±0.03ms ? ?/sec 1.01 3.4±0.04ms ? ?/sec
> physical_plan_clickbench_q40 1.01 5.5±0.08ms ? ?/sec 1.00 5.4±0.08ms ? ?/sec
> physical_plan_clickbench_q41 1.01 5.2±0.12ms ? ?/sec 1.00 5.2±0.07ms ? ?/sec
> physical_plan_clickbench_q42 1.00 5.0±0.08ms ? ?/sec 1.00 5.0±0.07ms ? ?/sec
> physical_plan_clickbench_q43 1.00 5.1±0.08ms ? ?/sec 1.00 5.1±0.07ms ? ?/sec
> physical_plan_clickbench_q44 1.00 3.5±0.04ms ? ?/sec 1.00 3.5±0.04ms ? ?/sec
> physical_plan_clickbench_q45 1.00 3.5±0.04ms ? ?/sec 1.00 3.5±0.05ms ? ?/sec
> physical_plan_clickbench_q46 1.00 4.1±0.05ms ? ?/sec 1.00 4.1±0.06ms ? ?/sec
> physical_plan_clickbench_q47 1.00 4.8±0.06ms ? ?/sec 1.00 4.8±0.10ms ? ?/sec
> physical_plan_clickbench_q48 1.00 5.4±0.07ms ? ?/sec 1.00 5.4±0.07ms ? ?/sec
> physical_plan_clickbench_q49 1.01 5.7±0.10ms ? ?/sec 1.00 5.7±0.08ms ? ?/sec
> physical_plan_clickbench_q5 1.00 3.6±0.05ms ? ?/sec 1.00 3.6±0.05ms ? ?/sec
> physical_plan_clickbench_q6 1.01 3.6±0.05ms ? ?/sec 1.00 3.6±0.05ms ? ?/sec
> physical_plan_clickbench_q7 1.00 4.1±0.06ms ? ?/sec 1.00 4.1±0.04ms ? ?/sec
> physical_plan_clickbench_q8 1.00 3.9±0.06ms ? ?/sec 1.00 3.8±0.08ms ? ?/sec
> physical_plan_clickbench_q9 1.00 4.2±0.06ms ? ?/sec 1.00 4.2±0.07ms ? ?/sec
> physical_plan_tpcds_all 1.01 1385.2±6.74ms ? ?/sec 1.00 1370.7±3.03ms ? ?/sec
> physical_plan_tpch_all 1.01 90.6±0.49ms ? ?/sec 1.00 90.0±0.79ms ? ?/sec
> physical_plan_tpch_q1 1.01 3.3±0.08ms ? ?/sec 1.00 3.2±0.02ms ? ?/sec
> physical_plan_tpch_q10 1.02 4.5±0.03ms ? ?/sec 1.00 4.4±0.05ms ? ?/sec
> physical_plan_tpch_q11 1.00 4.0±0.02ms ? ?/sec 1.00 3.9±0.03ms ? ?/sec
> physical_plan_tpch_q12 1.00 3.1±0.02ms ? ?/sec 1.00 3.1±0.02ms ? ?/sec
> physical_plan_tpch_q13 1.01 2.5±0.03ms ? ?/sec 1.00 2.4±0.02ms ? ?/sec
> physical_plan_tpch_q14 1.01 2.8±0.02ms ? ?/sec 1.00 2.8±0.02ms ? ?/sec
> physical_plan_tpch_q16 1.00 3.9±0.02ms ? ?/sec 1.00 3.9±0.04ms ? ?/sec
> physical_plan_tpch_q17 1.00 3.7±0.03ms ? ?/sec 1.00 3.7±0.04ms ? ?/sec
> physical_plan_tpch_q18 1.01 4.1±0.05ms ? ?/sec 1.00 4.1±0.04ms ? ?/sec
> physical_plan_tpch_q19 1.00 5.9±0.03ms ? ?/sec 1.00 5.9±0.03ms ? ?/sec
> physical_plan_tpch_q2 1.01 7.5±0.03ms ? ?/sec 1.00 7.5±0.06ms ? ?/sec
> physical_plan_tpch_q20 1.00 4.8±0.04ms ? ?/sec 1.00 4.7±0.04ms ? ?/sec
> physical_plan_tpch_q21 1.00 6.1±0.05ms ? ?/sec 1.00 6.1±0.04ms ? ?/sec
> physical_plan_tpch_q22 1.00 3.6±0.02ms ? ?/sec 1.00 3.6±0.02ms ? ?/sec
> physical_plan_tpch_q3 1.01 3.3±0.02ms ? ?/sec 1.00 3.2±0.02ms ? ?/sec
> physical_plan_tpch_q4 1.00 2.6±0.02ms ? ?/sec 1.00 2.6±0.02ms ? ?/sec
> physical_plan_tpch_q5 1.00 4.5±0.06ms ? ?/sec 1.00 4.4±0.03ms ? ?/sec
> physical_plan_tpch_q6 1.01 1875.2±83.61µs ? ?/sec 1.00 1863.0±15.01µs ? ?/sec
> physical_plan_tpch_q7 1.01 5.8±0.04ms ? ?/sec 1.00 5.8±0.07ms ? ?/sec
> physical_plan_tpch_q8 1.01 6.9±0.05ms ? ?/sec 1.00 6.8±0.03ms ? ?/sec
> physical_plan_tpch_q9 1.02 5.5±0.05ms ? ?/sec 1.00 5.4±0.03ms ? ?/sec
> physical_select_aggregates_from_200 1.00 25.7±0.14ms ? ?/sec 1.02 26.2±0.16ms ? ?/sec
> physical_select_all_from_1000 1.00 41.1±0.20ms ? ?/sec 1.00 41.1±0.20ms ? ?/sec
> physical_select_one_from_700 1.02 3.4±0.02ms ? ?/sec 1.00 3.3±0.03ms ? ?/sec
> physical_theta_join_consider_sort 1.01 3.7±0.02ms ? ?/sec 1.00 3.7±0.03ms ? ?/sec
> physical_unnest_to_join 1.01 3.4±0.02ms ? ?/sec 1.00 3.3±0.02ms ? ?/sec
> with_param_values_many_columns 1.01 162.1±1.21µs ? ?/sec 1.00 160.2±0.74µs ? ?/sec
> ```
Most of the queries have improved. Can we merge this pull request? What do you think? @alamb
--
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-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] refactor: replace `Vec` with `IndexMap` for expression mappings in `ProjectionMapping` and `EquivalenceGroup` [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #13675:
URL: https://github.com/apache/datafusion/pull/13675#issuecomment-2527546119
When I ran the planning benchmarks like this
```shell
cargo bench --bench sql_planner
```
I saw a pretty consistent 2-3% slowdown:
```
++ critcmp main 8027-refactor-hashmap
group 8027-refactor-hashmap main
----- --------------------- ----
logical_aggregate_with_join 1.01 1462.9±24.59µs ? ?/sec 1.00 1449.0±18.42µs ? ?/sec
logical_select_all_from_1000 1.00 5.2±0.02ms ? ?/sec 1.00 5.2±0.02ms ? ?/sec
logical_select_one_from_700 1.00 1156.7±11.76µs ? ?/sec 1.00 1154.4±16.21µs ? ?/sec
logical_trivial_join_high_numbered_columns 1.01 1125.1±21.02µs ? ?/sec 1.00 1116.3±14.70µs ? ?/sec
logical_trivial_join_low_numbered_columns 1.01 1113.0±14.81µs ? ?/sec 1.00 1101.7±13.73µs ? ?/sec
physical_intersection 1.00 2.4±0.02ms ? ?/sec 1.00 2.4±0.02ms ? ?/sec
physical_join_consider_sort 1.01 3.3±0.05ms ? ?/sec 1.00 3.2±0.02ms ? ?/sec
physical_join_distinct 1.01 1105.3±13.88µs ? ?/sec 1.00 1090.2±12.59µs ? ?/sec
physical_many_self_joins 1.00 17.1±0.08ms ? ?/sec 1.00 17.0±0.06ms ? ?/sec
physical_plan_clickbench_all 1.01 226.5±2.73ms ? ?/sec 1.00 223.3±1.38ms ? ?/sec
physical_plan_clickbench_q1 1.01 3.2±0.03ms ? ?/sec 1.00 3.2±0.03ms ? ?/sec
physical_plan_clickbench_q10 1.01 4.3±0.03ms ? ?/sec 1.00 4.3±0.03ms ? ?/sec
physical_plan_clickbench_q11 1.00 4.4±0.03ms ? ?/sec 1.00 4.4±0.04ms ? ?/sec
physical_plan_clickbench_q12 1.01 4.6±0.05ms ? ?/sec 1.00 4.6±0.05ms ? ?/sec
physical_plan_clickbench_q13 1.01 4.2±0.04ms ? ?/sec 1.00 4.2±0.04ms ? ?/sec
physical_plan_clickbench_q14 1.01 4.4±0.04ms ? ?/sec 1.00 4.4±0.04ms ? ?/sec
physical_plan_clickbench_q15 1.01 4.3±0.04ms ? ?/sec 1.00 4.3±0.04ms ? ?/sec
physical_plan_clickbench_q16 1.01 3.7±0.04ms ? ?/sec 1.00 3.7±0.03ms ? ?/sec
physical_plan_clickbench_q17 1.00 3.8±0.03ms ? ?/sec 1.00 3.8±0.03ms ? ?/sec
physical_plan_clickbench_q18 1.01 3.5±0.04ms ? ?/sec 1.00 3.5±0.03ms ? ?/sec
physical_plan_clickbench_q19 1.01 4.5±0.05ms ? ?/sec 1.00 4.4±0.04ms ? ?/sec
physical_plan_clickbench_q2 1.00 3.6±0.07ms ? ?/sec 1.00 3.5±0.03ms ? ?/sec
physical_plan_clickbench_q20 1.00 3.3±0.03ms ? ?/sec 1.00 3.3±0.04ms ? ?/sec
physical_plan_clickbench_q21 1.00 3.6±0.03ms ? ?/sec 1.00 3.5±0.04ms ? ?/sec
physical_plan_clickbench_q22 1.00 4.5±0.05ms ? ?/sec 1.00 4.5±0.05ms ? ?/sec
physical_plan_clickbench_q23 1.01 5.0±0.07ms ? ?/sec 1.00 4.9±0.05ms ? ?/sec
physical_plan_clickbench_q24 1.01 5.8±0.06ms ? ?/sec 1.00 5.7±0.04ms ? ?/sec
physical_plan_clickbench_q25 1.01 3.9±0.06ms ? ?/sec 1.00 3.9±0.03ms ? ?/sec
physical_plan_clickbench_q26 1.00 3.6±0.03ms ? ?/sec 1.00 3.6±0.04ms ? ?/sec
physical_plan_clickbench_q27 1.00 3.9±0.04ms ? ?/sec 1.00 3.9±0.05ms ? ?/sec
physical_plan_clickbench_q28 1.01 4.7±0.03ms ? ?/sec 1.00 4.7±0.05ms ? ?/sec
physical_plan_clickbench_q29 1.01 5.8±0.04ms ? ?/sec 1.00 5.7±0.05ms ? ?/sec
physical_plan_clickbench_q3 1.01 3.5±0.03ms ? ?/sec 1.00 3.5±0.04ms ? ?/sec
physical_plan_clickbench_q30 1.00 16.4±0.14ms ? ?/sec 1.00 16.4±0.12ms ? ?/sec
physical_plan_clickbench_q31 1.01 4.8±0.04ms ? ?/sec 1.00 4.8±0.04ms ? ?/sec
physical_plan_clickbench_q32 1.01 4.8±0.06ms ? ?/sec 1.00 4.8±0.05ms ? ?/sec
physical_plan_clickbench_q33 1.01 4.3±0.07ms ? ?/sec 1.00 4.3±0.04ms ? ?/sec
physical_plan_clickbench_q34 1.01 3.9±0.03ms ? ?/sec 1.00 3.8±0.03ms ? ?/sec
physical_plan_clickbench_q35 1.00 4.0±0.06ms ? ?/sec 1.00 4.0±0.14ms ? ?/sec
physical_plan_clickbench_q36 1.01 5.2±0.04ms ? ?/sec 1.00 5.1±0.04ms ? ?/sec
physical_plan_clickbench_q37 1.01 5.2±0.05ms ? ?/sec 1.00 5.2±0.05ms ? ?/sec
physical_plan_clickbench_q38 1.01 5.2±0.06ms ? ?/sec 1.00 5.2±0.06ms ? ?/sec
physical_plan_clickbench_q39 1.01 4.8±0.07ms ? ?/sec 1.00 4.7±0.05ms ? ?/sec
physical_plan_clickbench_q4 1.00 3.3±0.02ms ? ?/sec 1.00 3.3±0.08ms ? ?/sec
physical_plan_clickbench_q40 1.01 5.4±0.06ms ? ?/sec 1.00 5.3±0.05ms ? ?/sec
physical_plan_clickbench_q41 1.01 5.1±0.07ms ? ?/sec 1.00 5.0±0.06ms ? ?/sec
physical_plan_clickbench_q42 1.03 5.0±0.23ms ? ?/sec 1.00 4.9±0.05ms ? ?/sec
physical_plan_clickbench_q43 1.01 5.0±0.08ms ? ?/sec 1.00 5.0±0.05ms ? ?/sec
physical_plan_clickbench_q44 1.01 3.5±0.04ms ? ?/sec 1.00 3.4±0.04ms ? ?/sec
physical_plan_clickbench_q45 1.01 3.5±0.04ms ? ?/sec 1.00 3.4±0.03ms ? ?/sec
physical_plan_clickbench_q46 1.00 4.1±0.05ms ? ?/sec 1.00 4.0±0.05ms ? ?/sec
physical_plan_clickbench_q47 1.01 4.8±0.05ms ? ?/sec 1.00 4.7±0.06ms ? ?/sec
physical_plan_clickbench_q48 1.00 5.3±0.05ms ? ?/sec 1.00 5.3±0.07ms ? ?/sec
physical_plan_clickbench_q49 1.00 5.6±0.04ms ? ?/sec 1.00 5.6±0.06ms ? ?/sec
physical_plan_clickbench_q5 1.01 3.5±0.02ms ? ?/sec 1.00 3.5±0.03ms ? ?/sec
physical_plan_clickbench_q6 1.01 3.5±0.03ms ? ?/sec 1.00 3.5±0.03ms ? ?/sec
physical_plan_clickbench_q7 1.01 4.0±0.04ms ? ?/sec 1.00 4.0±0.03ms ? ?/sec
physical_plan_clickbench_q8 1.00 3.8±0.03ms ? ?/sec 1.00 3.7±0.03ms ? ?/sec
physical_plan_clickbench_q9 1.00 4.1±0.03ms ? ?/sec 1.00 4.1±0.04ms ? ?/sec
physical_plan_tpcds_all 1.02 1378.4±2.49ms ? ?/sec 1.00 1350.9±2.96ms ? ?/sec
physical_plan_tpch_all 1.02 90.3±0.48ms ? ?/sec 1.00 88.5±0.40ms ? ?/sec
physical_plan_tpch_q1 1.02 3.2±0.02ms ? ?/sec 1.00 3.2±0.02ms ? ?/sec
physical_plan_tpch_q10 1.03 4.5±0.02ms ? ?/sec 1.00 4.3±0.03ms ? ?/sec
physical_plan_tpch_q11 1.02 4.0±0.03ms ? ?/sec 1.00 3.9±0.03ms ? ?/sec
physical_plan_tpch_q12 1.01 3.1±0.02ms ? ?/sec 1.00 3.1±0.02ms ? ?/sec
physical_plan_tpch_q13 1.01 2.4±0.02ms ? ?/sec 1.00 2.4±0.02ms ? ?/sec
physical_plan_tpch_q14 1.01 2.8±0.02ms ? ?/sec 1.00 2.8±0.03ms ? ?/sec
physical_plan_tpch_q16 1.01 3.9±0.04ms ? ?/sec 1.00 3.9±0.04ms ? ?/sec
physical_plan_tpch_q17 1.01 3.7±0.03ms ? ?/sec 1.00 3.7±0.03ms ? ?/sec
physical_plan_tpch_q18 1.02 4.1±0.02ms ? ?/sec 1.00 4.1±0.03ms ? ?/sec
physical_plan_tpch_q19 1.01 5.9±0.03ms ? ?/sec 1.00 5.8±0.03ms ? ?/sec
physical_plan_tpch_q2 1.03 7.6±0.09ms ? ?/sec 1.00 7.3±0.03ms ? ?/sec
physical_plan_tpch_q20 1.01 4.7±0.04ms ? ?/sec 1.00 4.7±0.04ms ? ?/sec
physical_plan_tpch_q21 1.02 6.1±0.08ms ? ?/sec 1.00 6.0±0.04ms ? ?/sec
physical_plan_tpch_q22 1.01 3.6±0.02ms ? ?/sec 1.00 3.6±0.03ms ? ?/sec
physical_plan_tpch_q3 1.02 3.3±0.02ms ? ?/sec 1.00 3.2±0.03ms ? ?/sec
physical_plan_tpch_q4 1.01 2.6±0.02ms ? ?/sec 1.00 2.6±0.02ms ? ?/sec
physical_plan_tpch_q5 1.02 4.4±0.03ms ? ?/sec 1.00 4.4±0.02ms ? ?/sec
physical_plan_tpch_q6 1.01 1845.7±16.65µs ? ?/sec 1.00 1819.3±16.45µs ? ?/sec
physical_plan_tpch_q7 1.02 5.8±0.11ms ? ?/sec 1.00 5.7±0.03ms ? ?/sec
physical_plan_tpch_q8 1.02 6.9±0.04ms ? ?/sec 1.00 6.8±0.04ms ? ?/sec
physical_plan_tpch_q9 1.03 5.5±0.05ms ? ?/sec 1.00 5.3±0.04ms ? ?/sec
physical_select_aggregates_from_200 1.00 25.4±0.10ms ? ?/sec 1.02 25.8±0.29ms ? ?/sec
physical_select_all_from_1000 1.00 40.7±0.14ms ? ?/sec 1.00 40.8±0.15ms ? ?/sec
physical_select_one_from_700 1.01 3.3±0.02ms ? ?/sec 1.00 3.3±0.02ms ? ?/sec
physical_theta_join_consider_sort 1.00 3.6±0.02ms ? ?/sec 1.00 3.6±0.03ms ? ?/sec
physical_unnest_to_join 1.00 3.3±0.02ms ? ?/sec 1.00 3.3±0.02ms ? ?/sec
with_param_values_many_columns 1.01 161.8±1.12µs ? ?/sec 1.00 160.9±0.84µs ? ?/sec
++ popd
~/datafusion-benchmarking
```
I will rerun them to see if this result is reproducable
--
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-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] refactor: replace `Vec` with `IndexMap` for expression mappings in `ProjectionMapping` and `EquivalenceGroup` [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #13675:
URL: https://github.com/apache/datafusion/pull/13675#issuecomment-2524068931
Thanks @Weijun-H -- I am running some other benchmarks now too. I'll report back
--
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-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] refactor: replace `Vec` with `IndexMap` for expression mappings in `ProjectionMapping` and `EquivalenceGroup` [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #13675:
URL: https://github.com/apache/datafusion/pull/13675#issuecomment-2527982335
I see much less difference this time 🤔 (I also ran `cargo update` which might have helped)
```
++ critcmp main 8027-refactor-hashmap
group 8027-refactor-hashmap main
----- --------------------- ----
logical_aggregate_with_join 1.00 1488.6±14.22µs ? ?/sec 1.00 1485.6±13.32µs ? ?/sec
logical_select_all_from_1000 1.01 5.3±0.03ms ? ?/sec 1.00 5.3±0.02ms ? ?/sec
logical_select_one_from_700 1.01 1197.6±43.93µs ? ?/sec 1.00 1182.6±29.15µs ? ?/sec
logical_trivial_join_high_numbered_columns 1.01 1156.1±12.46µs ? ?/sec 1.00 1147.7±13.89µs ? ?/sec
logical_trivial_join_low_numbered_columns 1.00 1140.9±18.42µs ? ?/sec 1.00 1137.8±24.82µs ? ?/sec
physical_intersection 1.01 2.4±0.03ms ? ?/sec 1.00 2.4±0.02ms ? ?/sec
physical_join_consider_sort 1.01 3.3±0.02ms ? ?/sec 1.00 3.3±0.04ms ? ?/sec
physical_join_distinct 1.01 1134.1±17.15µs ? ?/sec 1.00 1120.3±15.60µs ? ?/sec
physical_many_self_joins 1.02 17.4±0.10ms ? ?/sec 1.00 17.1±0.10ms ? ?/sec
physical_plan_clickbench_all 1.00 229.4±2.10ms ? ?/sec 1.00 229.4±1.97ms ? ?/sec
physical_plan_clickbench_q1 1.00 3.3±0.03ms ? ?/sec 1.00 3.3±0.04ms ? ?/sec
physical_plan_clickbench_q10 1.00 4.4±0.05ms ? ?/sec 1.00 4.4±0.05ms ? ?/sec
physical_plan_clickbench_q11 1.00 4.5±0.06ms ? ?/sec 1.00 4.5±0.12ms ? ?/sec
physical_plan_clickbench_q12 1.00 4.7±0.07ms ? ?/sec 1.00 4.7±0.06ms ? ?/sec
physical_plan_clickbench_q13 1.01 4.3±0.08ms ? ?/sec 1.00 4.3±0.04ms ? ?/sec
physical_plan_clickbench_q14 1.00 4.5±0.07ms ? ?/sec 1.00 4.5±0.08ms ? ?/sec
physical_plan_clickbench_q15 1.00 4.4±0.07ms ? ?/sec 1.00 4.4±0.08ms ? ?/sec
physical_plan_clickbench_q16 1.00 3.8±0.07ms ? ?/sec 1.00 3.8±0.05ms ? ?/sec
physical_plan_clickbench_q17 1.00 3.9±0.05ms ? ?/sec 1.00 3.9±0.06ms ? ?/sec
physical_plan_clickbench_q18 1.00 3.6±0.07ms ? ?/sec 1.00 3.6±0.06ms ? ?/sec
physical_plan_clickbench_q19 1.01 4.6±0.07ms ? ?/sec 1.00 4.5±0.05ms ? ?/sec
physical_plan_clickbench_q2 1.00 3.6±0.04ms ? ?/sec 1.00 3.6±0.04ms ? ?/sec
physical_plan_clickbench_q20 1.00 3.4±0.04ms ? ?/sec 1.00 3.4±0.04ms ? ?/sec
physical_plan_clickbench_q21 1.00 3.6±0.06ms ? ?/sec 1.00 3.6±0.05ms ? ?/sec
physical_plan_clickbench_q22 1.00 4.6±0.07ms ? ?/sec 1.00 4.6±0.08ms ? ?/sec
physical_plan_clickbench_q23 1.00 5.1±0.08ms ? ?/sec 1.00 5.1±0.07ms ? ?/sec
physical_plan_clickbench_q24 1.00 5.8±0.11ms ? ?/sec 1.01 5.8±0.07ms ? ?/sec
physical_plan_clickbench_q25 1.00 4.0±0.06ms ? ?/sec 1.00 4.0±0.04ms ? ?/sec
physical_plan_clickbench_q26 1.00 3.7±0.06ms ? ?/sec 1.00 3.7±0.04ms ? ?/sec
physical_plan_clickbench_q27 1.00 4.0±0.09ms ? ?/sec 1.00 4.0±0.06ms ? ?/sec
physical_plan_clickbench_q28 1.00 4.8±0.08ms ? ?/sec 1.00 4.8±0.09ms ? ?/sec
physical_plan_clickbench_q29 1.00 5.9±0.13ms ? ?/sec 1.00 5.9±0.08ms ? ?/sec
physical_plan_clickbench_q3 1.00 3.6±0.04ms ? ?/sec 1.00 3.5±0.04ms ? ?/sec
physical_plan_clickbench_q30 1.00 16.8±0.23ms ? ?/sec 1.00 16.8±0.21ms ? ?/sec
physical_plan_clickbench_q31 1.00 4.9±0.08ms ? ?/sec 1.00 4.9±0.07ms ? ?/sec
physical_plan_clickbench_q32 1.01 4.9±0.08ms ? ?/sec 1.00 4.8±0.05ms ? ?/sec
physical_plan_clickbench_q33 1.00 4.4±0.06ms ? ?/sec 1.00 4.4±0.08ms ? ?/sec
physical_plan_clickbench_q34 1.00 3.9±0.05ms ? ?/sec 1.00 3.9±0.04ms ? ?/sec
physical_plan_clickbench_q35 1.00 4.1±0.05ms ? ?/sec 1.00 4.1±0.05ms ? ?/sec
physical_plan_clickbench_q36 1.00 5.2±0.07ms ? ?/sec 1.00 5.2±0.07ms ? ?/sec
physical_plan_clickbench_q37 1.00 5.3±0.07ms ? ?/sec 1.00 5.3±0.07ms ? ?/sec
physical_plan_clickbench_q38 1.00 5.3±0.07ms ? ?/sec 1.00 5.3±0.08ms ? ?/sec
physical_plan_clickbench_q39 1.00 4.8±0.07ms ? ?/sec 1.00 4.8±0.07ms ? ?/sec
physical_plan_clickbench_q4 1.00 3.3±0.03ms ? ?/sec 1.01 3.4±0.04ms ? ?/sec
physical_plan_clickbench_q40 1.01 5.5±0.08ms ? ?/sec 1.00 5.4±0.08ms ? ?/sec
physical_plan_clickbench_q41 1.01 5.2±0.12ms ? ?/sec 1.00 5.2±0.07ms ? ?/sec
physical_plan_clickbench_q42 1.00 5.0±0.08ms ? ?/sec 1.00 5.0±0.07ms ? ?/sec
physical_plan_clickbench_q43 1.00 5.1±0.08ms ? ?/sec 1.00 5.1±0.07ms ? ?/sec
physical_plan_clickbench_q44 1.00 3.5±0.04ms ? ?/sec 1.00 3.5±0.04ms ? ?/sec
physical_plan_clickbench_q45 1.00 3.5±0.04ms ? ?/sec 1.00 3.5±0.05ms ? ?/sec
physical_plan_clickbench_q46 1.00 4.1±0.05ms ? ?/sec 1.00 4.1±0.06ms ? ?/sec
physical_plan_clickbench_q47 1.00 4.8±0.06ms ? ?/sec 1.00 4.8±0.10ms ? ?/sec
physical_plan_clickbench_q48 1.00 5.4±0.07ms ? ?/sec 1.00 5.4±0.07ms ? ?/sec
physical_plan_clickbench_q49 1.01 5.7±0.10ms ? ?/sec 1.00 5.7±0.08ms ? ?/sec
physical_plan_clickbench_q5 1.00 3.6±0.05ms ? ?/sec 1.00 3.6±0.05ms ? ?/sec
physical_plan_clickbench_q6 1.01 3.6±0.05ms ? ?/sec 1.00 3.6±0.05ms ? ?/sec
physical_plan_clickbench_q7 1.00 4.1±0.06ms ? ?/sec 1.00 4.1±0.04ms ? ?/sec
physical_plan_clickbench_q8 1.00 3.9±0.06ms ? ?/sec 1.00 3.8±0.08ms ? ?/sec
physical_plan_clickbench_q9 1.00 4.2±0.06ms ? ?/sec 1.00 4.2±0.07ms ? ?/sec
physical_plan_tpcds_all 1.01 1385.2±6.74ms ? ?/sec 1.00 1370.7±3.03ms ? ?/sec
physical_plan_tpch_all 1.01 90.6±0.49ms ? ?/sec 1.00 90.0±0.79ms ? ?/sec
physical_plan_tpch_q1 1.01 3.3±0.08ms ? ?/sec 1.00 3.2±0.02ms ? ?/sec
physical_plan_tpch_q10 1.02 4.5±0.03ms ? ?/sec 1.00 4.4±0.05ms ? ?/sec
physical_plan_tpch_q11 1.00 4.0±0.02ms ? ?/sec 1.00 3.9±0.03ms ? ?/sec
physical_plan_tpch_q12 1.00 3.1±0.02ms ? ?/sec 1.00 3.1±0.02ms ? ?/sec
physical_plan_tpch_q13 1.01 2.5±0.03ms ? ?/sec 1.00 2.4±0.02ms ? ?/sec
physical_plan_tpch_q14 1.01 2.8±0.02ms ? ?/sec 1.00 2.8±0.02ms ? ?/sec
physical_plan_tpch_q16 1.00 3.9±0.02ms ? ?/sec 1.00 3.9±0.04ms ? ?/sec
physical_plan_tpch_q17 1.00 3.7±0.03ms ? ?/sec 1.00 3.7±0.04ms ? ?/sec
physical_plan_tpch_q18 1.01 4.1±0.05ms ? ?/sec 1.00 4.1±0.04ms ? ?/sec
physical_plan_tpch_q19 1.00 5.9±0.03ms ? ?/sec 1.00 5.9±0.03ms ? ?/sec
physical_plan_tpch_q2 1.01 7.5±0.03ms ? ?/sec 1.00 7.5±0.06ms ? ?/sec
physical_plan_tpch_q20 1.00 4.8±0.04ms ? ?/sec 1.00 4.7±0.04ms ? ?/sec
physical_plan_tpch_q21 1.00 6.1±0.05ms ? ?/sec 1.00 6.1±0.04ms ? ?/sec
physical_plan_tpch_q22 1.00 3.6±0.02ms ? ?/sec 1.00 3.6±0.02ms ? ?/sec
physical_plan_tpch_q3 1.01 3.3±0.02ms ? ?/sec 1.00 3.2±0.02ms ? ?/sec
physical_plan_tpch_q4 1.00 2.6±0.02ms ? ?/sec 1.00 2.6±0.02ms ? ?/sec
physical_plan_tpch_q5 1.00 4.5±0.06ms ? ?/sec 1.00 4.4±0.03ms ? ?/sec
physical_plan_tpch_q6 1.01 1875.2±83.61µs ? ?/sec 1.00 1863.0±15.01µs ? ?/sec
physical_plan_tpch_q7 1.01 5.8±0.04ms ? ?/sec 1.00 5.8±0.07ms ? ?/sec
physical_plan_tpch_q8 1.01 6.9±0.05ms ? ?/sec 1.00 6.8±0.03ms ? ?/sec
physical_plan_tpch_q9 1.02 5.5±0.05ms ? ?/sec 1.00 5.4±0.03ms ? ?/sec
physical_select_aggregates_from_200 1.00 25.7±0.14ms ? ?/sec 1.02 26.2±0.16ms ? ?/sec
physical_select_all_from_1000 1.00 41.1±0.20ms ? ?/sec 1.00 41.1±0.20ms ? ?/sec
physical_select_one_from_700 1.02 3.4±0.02ms ? ?/sec 1.00 3.3±0.03ms ? ?/sec
physical_theta_join_consider_sort 1.01 3.7±0.02ms ? ?/sec 1.00 3.7±0.03ms ? ?/sec
physical_unnest_to_join 1.01 3.4±0.02ms ? ?/sec 1.00 3.3±0.02ms ? ?/sec
with_param_values_many_columns 1.01 162.1±1.21µs ? ?/sec 1.00 160.2±0.74µs ? ?/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-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] refactor: replace `Vec` with `IndexMap` for expression mappings in `ProjectionMapping` and `EquivalenceGroup` [datafusion]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb merged PR #13675:
URL: https://github.com/apache/datafusion/pull/13675
--
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-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] refactor: replace `Vec` with `IndexMap` for expression mappings in `ProjectionMapping` and `EquivalenceGroup` [datafusion]
Posted by "Weijun-H (via GitHub)" <gi...@apache.org>.
Weijun-H commented on PR #13675:
URL: https://github.com/apache/datafusion/pull/13675#issuecomment-2523473201
```
Comparing main and 8027-refactor-hashmap
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query ┃ main ┃ 8027-refactor-hashmap ┃ Change ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0 │ 0.97ms │ 0.98ms │ no change │
│ QQuery 1 │ 21.87ms │ 21.35ms │ no change │
│ QQuery 2 │ 61.49ms │ 60.15ms │ no change │
│ QQuery 3 │ 53.79ms │ 49.88ms │ +1.08x faster │
│ QQuery 4 │ 487.56ms │ 477.48ms │ no change │
│ QQuery 5 │ 555.74ms │ 537.33ms │ no change │
│ QQuery 6 │ 21.94ms │ 20.35ms │ +1.08x faster │
│ QQuery 7 │ 24.40ms │ 24.00ms │ no change │
│ QQuery 8 │ 545.35ms │ 526.68ms │ no change │
│ QQuery 9 │ 786.47ms │ 785.53ms │ no change │
│ QQuery 10 │ 166.09ms │ 162.46ms │ no change │
│ QQuery 11 │ 196.84ms │ 182.92ms │ +1.08x faster │
│ QQuery 12 │ 602.89ms │ 574.55ms │ no change │
│ QQuery 13 │ 914.99ms │ 863.49ms │ +1.06x faster │
│ QQuery 14 │ 547.97ms │ 519.96ms │ +1.05x faster │
│ QQuery 15 │ 612.45ms │ 589.76ms │ no change │
│ QQuery 16 │ 1480.77ms │ 1411.52ms │ no change │
│ QQuery 17 │ 1693.64ms │ 1291.81ms │ +1.31x faster │
│ QQuery 18 │ 3916.78ms │ 3528.59ms │ +1.11x faster │
│ QQuery 19 │ 52.20ms │ 45.02ms │ +1.16x faster │
│ QQuery 20 │ 801.96ms │ 771.45ms │ no change │
│ QQuery 21 │ 1050.13ms │ 972.16ms │ +1.08x faster │
│ QQuery 22 │ 2233.94ms │ 2186.50ms │ no change │
│ QQuery 23 │ 6605.51ms │ 6369.83ms │ no change │
│ QQuery 24 │ 326.86ms │ 333.63ms │ no change │
│ QQuery 25 │ 289.28ms │ 292.81ms │ no change │
│ QQuery 26 │ 362.83ms │ 349.51ms │ no change │
│ QQuery 27 │ 1241.79ms │ 1194.28ms │ no change │
│ QQuery 28 │ 9625.06ms │ 9363.69ms │ no change │
│ QQuery 29 │ 431.03ms │ 413.16ms │ no change │
│ QQuery 30 │ 516.65ms │ 512.50ms │ no change │
│ QQuery 31 │ 562.50ms │ 619.65ms │ 1.10x slower │
│ QQuery 32 │ 4386.17ms │ 4759.73ms │ 1.09x slower │
│ QQuery 33 │ 5473.53ms │ 4966.99ms │ +1.10x faster │
│ QQuery 34 │ 5346.18ms │ 4512.19ms │ +1.18x faster │
│ QQuery 35 │ 871.30ms │ 804.96ms │ +1.08x faster │
│ QQuery 36 │ 112.65ms │ 105.63ms │ +1.07x faster │
│ QQuery 37 │ 48.62ms │ 49.87ms │ no change │
│ QQuery 38 │ 72.45ms │ 70.27ms │ no change │
│ QQuery 39 │ 201.16ms │ 196.91ms │ no change │
│ QQuery 40 │ 24.14ms │ 24.43ms │ no change │
│ QQuery 41 │ 22.72ms │ 23.62ms │ no change │
│ QQuery 42 │ 29.32ms │ 28.32ms │ no change │
└──────────────┴───────────┴───────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary ┃ ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (main) │ 53380.00ms │
│ Total Time (8027-refactor-hashmap) │ 50595.89ms │
│ Average Time (main) │ 1241.40ms │
│ Average Time (8027-refactor-hashmap) │ 1176.65ms │
│ Queries Faster │ 13 │
│ Queries Slower │ 2 │
│ Queries with No Change │ 28 │
└──────────────────────────────────────┴────────────┘
```
--
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-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org