perf: Implement groups accumulator count distinct primitive types#21561
perf: Implement groups accumulator count distinct primitive types#21561coderfender wants to merge 14 commits intoapache:mainfrom
Conversation
|
Requesting to run benchmarks TPCH , TPCDS , clickbench etc to see how groups accumulator impl performs in count(distinct) use case |
| T::Native: Eq + Hash, | ||
| { | ||
| /// Count distinct per group. | ||
| values: Vec<HashSet<T::Native, RandomState>>, |
There was a problem hiding this comment.
It could be Hashset<(T::Native, usize)> to avoid individual hash sets.
There was a problem hiding this comment.
Usize is the group index
There was a problem hiding this comment.
Yup! I am evaluating that approach but it doesn't seem to be working out so far
There was a problem hiding this comment.
Local testing did yield mixed results :| so far
|
run benchmark tpch tpcds clickbench_partitiomed clickbemch_extended |
|
🤖 Benchmark running (GKE) | trigger CPU Details (lscpu)Comparing implement_groups_accumulator_count_distinct_primitive_types (f0b2a4a) to 16e578d (merge-base) diff using: tpch File an issue against this benchmark runner |
|
🤖 Benchmark running (GKE) | trigger CPU Details (lscpu)Comparing implement_groups_accumulator_count_distinct_primitive_types (f0b2a4a) to 16e578d (merge-base) diff using: tpcds File an issue against this benchmark runner |
|
🤖 Criterion benchmark running (GKE) | trigger CPU Details (lscpu)Comparing implement_groups_accumulator_count_distinct_primitive_types (f0b2a4a) to 16e578d (merge-base) diff File an issue against this benchmark runner |
|
🤖 Criterion benchmark running (GKE) | trigger CPU Details (lscpu)Comparing implement_groups_accumulator_count_distinct_primitive_types (f0b2a4a) to 16e578d (merge-base) diff File an issue against this benchmark runner |
|
Benchmark for this request failed. Last 20 lines of output: Click to expandFile an issue against this benchmark runner |
1 similar comment
|
Benchmark for this request failed. Last 20 lines of output: Click to expandFile an issue against this benchmark runner |
5692893 to
ee0c865
Compare
|
🤖 Benchmark completed (GKE) | trigger Instance: CPU Details (lscpu)Details
Resource Usagetpcds — base (merge-base)
tpcds — branch
File an issue against this benchmark runner |
|
@Dandandan could you retrigger the benchmarks again please? |
|
run benchmark tpch tpcds clickbench_partitioned clickbench_extended |
|
🤖 Benchmark running (GKE) | trigger CPU Details (lscpu)Comparing implement_groups_accumulator_count_distinct_primitive_types (ee0c865) to 16e578d (merge-base) diff using: tpch File an issue against this benchmark runner |
|
🤖 Benchmark running (GKE) | trigger CPU Details (lscpu)Comparing implement_groups_accumulator_count_distinct_primitive_types (ee0c865) to 16e578d (merge-base) diff using: clickbench_extended File an issue against this benchmark runner |
|
🤖 Benchmark running (GKE) | trigger CPU Details (lscpu)Comparing implement_groups_accumulator_count_distinct_primitive_types (ee0c865) to 16e578d (merge-base) diff using: clickbench_partitioned File an issue against this benchmark runner |
|
🤖 Benchmark running (GKE) | trigger CPU Details (lscpu)Comparing implement_groups_accumulator_count_distinct_primitive_types (ee0c865) to 16e578d (merge-base) diff using: tpcds File an issue against this benchmark runner |
|
🤖 Benchmark completed (GKE) | trigger Instance: CPU Details (lscpu)Details
Resource Usagetpcds — base (merge-base)
tpcds — branch
File an issue against this benchmark runner |
|
🤖 Benchmark completed (GKE) | trigger Instance: CPU Details (lscpu)Details
Resource Usageclickbench_partitioned — base (merge-base)
clickbench_partitioned — branch
File an issue against this benchmark runner |
|
🤖 Benchmark completed (GKE) | trigger Instance: CPU Details (lscpu)Details
Resource Usageclickbench_extended — base (merge-base)
clickbench_extended — branch
File an issue against this benchmark runner |
5b7f593 to
067a6b6
Compare
|
Comparison with main |
Which issue does this PR close?
Evaluate perf with group accumulators for count distinct
Rationale for this change
What changes are included in this PR?
Are these changes tested?
Are there any user-facing changes?