should be it

This commit is contained in:
2025-10-24 19:21:19 -05:00
parent a4b23fc57c
commit f09560c7b1
14047 changed files with 3161551 additions and 1 deletions

View File

@@ -0,0 +1,25 @@
# name: benchmark/micro/groupby-parallel/large_groups.benchmark
# description: Aggregation with large group count
# group: [groupby-parallel]
name Grouped Aggregate (L, 1000000 groups)
group aggregate
subgroup parallel
load
create temporary table d as select mod(range, 1000000) g, 42 p from range(1000000);
run
select g, count(*), min(p), max(p) c from d group by g order by g limit 10;
result IIII
0 1 42 42
1 1 42 42
2 1 42 42
3 1 42 42
4 1 42 42
5 1 42 42
6 1 42 42
7 1 42 42
8 1 42 42
9 1 42 42

View File

@@ -0,0 +1,16 @@
# name: benchmark/micro/groupby-parallel/many_groups_large_values.benchmark
# description: Aggregation with many groups and large values
# group: [groupby-parallel]
name Grouped Aggregate (S, 100M)
group aggregate
subgroup parallel
load
create temporary table df as
select (i/2 * 5000000000)::bigint AS g1,
(case when i%2=0 then 0 else 5000000000 end)::BIGINT g2,
((random() * 100000000) * 5000000000)::BIGINT AS d from range(100000000) t(i);
run
select sum(d), count(*) from df group by g1, g2 limit 1;

View File

@@ -0,0 +1,16 @@
# name: benchmark/micro/groupby-parallel/many_groups_large_values_small.benchmark
# description: Aggregation with many groups and large values
# group: [groupby-parallel]
name Grouped Aggregate (S, 10M)
group aggregate
subgroup parallel
load
create temporary table df as
select (i/2 * 5000000000)::bigint AS g1,
(case when i%2=0 then 0 else 5000000000 end)::BIGINT g2,
((random() * 100000000) * 5000000000)::BIGINT AS d from range(10000000) t(i);
run
select sum(d), count(*) from df group by g1, g2 limit 1;

View File

@@ -0,0 +1,25 @@
# name: benchmark/micro/groupby-parallel/medium_groups.benchmark
# description: Aggregation with small group count
# group: [groupby-parallel]
name Grouped Aggregate (M, 100000 groups)
group aggregate
subgroup parallel
load
create temporary table d as select mod(range, 100000) g, 42 p from range(10000000);
run
select g, count(*), min(p), max(p) c from d group by g order by g limit 10;
result IIII
0 100 42 42
1 100 42 42
2 100 42 42
3 100 42 42
4 100 42 42
5 100 42 42
6 100 42 42
7 100 42 42
8 100 42 42
9 100 42 42

View File

@@ -0,0 +1,25 @@
# name: benchmark/micro/groupby-parallel/tiny_groups.benchmark
# description: Aggregation with small group count
# group: [groupby-parallel]
name Grouped Aggregate (S, 100 groups)
group aggregate
subgroup parallel
load
create temporary table d as select mod(range, 100) g, 42 p from range(10000000);
run
select g, count(*), min(p), max(p) c from d group by g order by g limit 10;
result IIII
0 100000 42 42
1 100000 42 42
2 100000 42 42
3 100000 42 42
4 100000 42 42
5 100000 42 42
6 100000 42 42
7 100000 42 42
8 100000 42 42
9 100000 42 42