Skip to content

Commit dba2c8a

Browse files
authored
Merge pull request #2913 from GaijinEntertainment/bbatkin/linq-fold-array-join-splice
linq_fold: array `_join` splice → m3f join_* parity (chunk N+3)
2 parents c339113 + 18d3859 commit dba2c8a

4 files changed

Lines changed: 770 additions & 149 deletions

File tree

benchmarks/sql/results.md

Lines changed: 145 additions & 139 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
# Benchmarks — SQL / Array / Decs comparison
22

3-
Generated 2026-05-27 from PR `bbatkin/sqlite-linq-join-groupby-alias` (chunk N+2 — sqlite_linq projection-alias resolver: post-join `_.<alias>` resolves through the join's `into` projection registry, transitively enabling `_group_by` / `_having` / `_order_by` / aggregates / computed-key in chains following a `_join`). Two SQL `` cells now populated, draining the "`_group_by` after `_join`" entry from [`sqlite_linq_gaps.md`](sqlite_linq_gaps.md):
4-
- `join_groupby_count` m1 = 160.7 INTERP / 157.8 JIT (beats `m3f` 186.2 / 47.2 in INTERP but JIT m3f still wins)
5-
- `join_groupby_to_array` m1 = 189.9 INTERP / 190.3 JIT (similar shape)
3+
Generated 2026-05-28 from PR `bbatkin/linq-fold-array-join-splice` (chunk N+3 — linq_fold array-side `_join` splice + cross-arm `_join |> _group_by` via new `ArrayJoin` SourceAdapter). Closes the m3f-vs-m4 parity gap across the entire `join_*` family — all 5 cells m3f beats m4 in both INTERP and JIT:
64

7-
Drift across the rest of the matrix is at measurement floor (±5% INTERP, ±10% JIT). The `_join`-side surface didn't touch any non-join planner, so the row-level changes are noise.
5+
| Cell | m3f INTERP before / after | m3f JIT before / after |
6+
|---|---:|---:|
7+
| `join_count` | 128.2 → **51.0** | 34.6 → **11.6** |
8+
| `join_select` | 148.1 → **72.0** | 41.6 → **19.7** |
9+
| `join_where_count` | 148.5 → **60.1** | 41.2 → **20.4** |
10+
| `join_groupby_count` | 186.2 → **78.3** | 47.2 → **19.4** |
11+
| `join_groupby_to_array` | 217.8 → **88.1** | 55.5 → **19.5** |
12+
13+
Drift across the rest of the matrix is at measurement floor (±5% INTERP, ±10% JIT). The splice is gated on `array_source` + primitive equi-key + (for cross-arm) `upstream_join` capture, so non-join chains aren't touched.
814
Fixture size: n = 100 000 (cars), 100 dealers, 5 brands. Each row is
915
one bench family in `benchmarks/sql/`; columns are nanoseconds per
1016
logical operation. `` marks an intentionally absent lane — see
@@ -31,155 +37,155 @@ before the timer resolution can measure them — they should be read as
3137

3238
| Benchmark | SQL (m1) | Array (m3f) | Decs (m4) | Decs vs Array |
3339
|---|---:|---:|---:|---:|
34-
| `aggregate_match` | 34.2 | 6.0 | 6.0 | 1.00× |
35-
| `all_match` | 27.7 | 3.6 | 3.6 | 1.00× |
36-
| `any_match` | 0.00 | 0.00 | 0.00 ||
37-
| `average_aggregate` | 30.0 | 6.0 | 8.9 | 1.48× |
38-
| `bare_order_where` | 286.5 | 118.0 | 128.2 | 1.09× |
39-
| `chained_select_collapse` || 18.3 | 18.3 | 1.00× |
40-
| `chained_where` | 36.3 | 6.8 | 7.7 | 1.13× |
41-
| `contains_match` | 0.00 | 2.3 | 1.5 | 0.65× |
42-
| `count_aggregate` | 29.5 | 4.2 | 4.4 | 1.05× |
43-
| `decs_count_bare_pred` ||| 4.3 ||
44-
| `distinct_by_count` | 41.1 | 15.9 | 16.1 | 1.01× |
45-
| `distinct_by_order_take` | 242.4 | 22.0 | 24.0 | 1.09× |
46-
| `distinct_by_order_to_array` | 239.8 | 22.1 | 23.6 | 1.07× |
47-
| `distinct_count` | 41.3 | 16.0 | 16.1 | 1.01× |
48-
| `distinct_count_pred` | 253.8 | 16.1 | 16.0 | 0.99× |
49-
| `distinct_take` | 0.00 | 0.00 | 0.00 ||
50-
| `element_at_match` | 0.00 | 0.00 | 0.00 ||
51-
| `first_match` | 0.00 | 0.00 | 0.00 ||
52-
| `first_or_default_match` | 0.00 | 0.00 | 0.00 ||
53-
| `groupby_average` | 173.2 | 30.9 | 30.3 | 0.98× |
54-
| `groupby_count` | 146.6 | 19.4 | 19.4 | 1.00× |
55-
| `groupby_first` | 253.3 | 18.6 | 19.2 | 1.03× |
56-
| `groupby_having_count` | 142.9 | 19.3 | 19.4 | 1.01× |
57-
| `groupby_having_hidden_sum` | 178.1 | 24.0 | 24.5 | 1.02× |
58-
| `groupby_having_post_where` | 173.8 | 19.1 | 18.8 | 0.98× |
59-
| `groupby_max` | 175.0 | 25.4 | 25.5 | 1.00× |
60-
| `groupby_min` | 177.7 | 26.0 | 26.0 | 1.00× |
61-
| `groupby_multi_reducer` | 191.3 | 32.3 | 32.7 | 1.01× |
62-
| `groupby_select_order` | 173.4 | 18.9 | 18.7 | 0.99× |
63-
| `groupby_select_sum` | 208.8 | 36.8 | 36.5 | 0.99× |
64-
| `groupby_sum` | 173.4 | 18.6 | 18.8 | 1.01× |
65-
| `groupby_where_count` | 75.9 | 14.7 | 15.0 | 1.02× |
66-
| `groupby_where_sum` | 87.5 | 14.3 | 14.7 | 1.03× |
67-
| `indexed_lookup` | 1457.1 | 205119.6 | 482.2 | 0.00× |
68-
| `join_count` | 37.9 | 128.2 | 65.4 | 0.51× |
69-
| `join_groupby_count` | 160.7 | 186.2 | 90.4 | 0.49× |
70-
| `join_groupby_to_array` | 189.9 | 217.8 | 93.1 | 0.43× |
71-
| `join_select` || 148.1 | 85.3 | 0.58× |
72-
| `join_where_count` | 39.3 | 148.5 | 74.4 | 0.50× |
73-
| `last_match` | 0.00 | 5.8 | 14.3 | 2.47× |
74-
| `long_count_aggregate` | 29.5 | 4.1 | 4.1 | 1.00× |
75-
| `max_aggregate` | 30.5 | 6.0 | 7.0 | 1.17× |
76-
| `min_aggregate` | 30.5 | 6.1 | 6.8 | 1.11× |
77-
| `order_distinct_take` | 139.1 | 15.8 | 97.2 | 6.15× |
78-
| `order_reverse_normalized` | 38.0 | 16.2 | 20.1 | 1.24× |
79-
| `order_take_desc` | 37.9 | 16.2 | 20.0 | 1.23× |
80-
| `reverse_distinct_by` | 292.5 | 21.4 |||
81-
| `reverse_take` | 0.1 | 0.00 | 10.1 ||
82-
| `reverse_take_select` | 0.00 | 33.8 | 48.3 | 1.43× |
83-
| `select_count` | 0.1 | 0.00 | 2.2 ||
84-
| `select_where` | 193.2 | 11.1 | 19.6 | 1.77× |
85-
| `select_where_count` | 32.4 | 5.2 | 7.5 | 1.44× |
86-
| `select_where_order_take` | 36.3 | 12.3 | 15.0 | 1.22× |
87-
| `select_where_sum` | 37.0 | 7.5 | 7.6 | 1.01× |
88-
| `single_match` | 0.00 | 2.9 | 5.5 | 1.90× |
40+
| `aggregate_match` | 32.3 | 5.8 | 5.8 | 1.00× |
41+
| `all_match` | 26.3 | 3.5 | 3.5 | 1.00× |
42+
| `any_match` | 0.0 | 0.0 | 0.0 ||
43+
| `average_aggregate` | 29.0 | 5.9 | 8.8 | 1.49× |
44+
| `bare_order_where` | 270.0 | 115.2 | 124.7 | 1.08× |
45+
| `chained_select_collapse` || 17.7 | 17.4 | 0.98× |
46+
| `chained_where` | 35.5 | 6.6 | 7.1 | 1.08× |
47+
| `contains_match` | 0.0 | 2.2 | 1.4 | 0.64× |
48+
| `count_aggregate` | 28.3 | 4.1 | 4.0 | 0.98× |
49+
| `decs_count_bare_pred` ||| 4.1 ||
50+
| `distinct_by_count` | 39.8 | 15.5 | 15.7 | 1.01× |
51+
| `distinct_by_order_take` | 247.9 | 21.6 | 23.9 | 1.11× |
52+
| `distinct_by_order_to_array` | 236.5 | 21.8 | 23.2 | 1.06× |
53+
| `distinct_count` | 40.2 | 15.8 | 15.9 | 1.01× |
54+
| `distinct_count_pred` | 246.2 | 15.7 | 15.8 | 1.01× |
55+
| `distinct_take` | 0.0 | 0.0 | 0.0 ||
56+
| `element_at_match` | 0.0 | 0.0 | 0.0 ||
57+
| `first_match` | 0.0 | 0.0 | 0.0 ||
58+
| `first_or_default_match` | 0.0 | 0.0 | 0.0 ||
59+
| `groupby_average` | 170.1 | 29.7 | 29.7 | 1.00× |
60+
| `groupby_count` | 139.6 | 19.2 | 19.1 | 0.99× |
61+
| `groupby_first` | 246.7 | 18.3 | 19.0 | 1.04× |
62+
| `groupby_having_count` | 139.3 | 19.0 | 19.0 | 1.00× |
63+
| `groupby_having_hidden_sum` | 173.2 | 23.6 | 24.0 | 1.02× |
64+
| `groupby_having_post_where` | 168.0 | 18.9 | 18.6 | 0.98× |
65+
| `groupby_max` | 171.2 | 24.9 | 25.0 | 1.00× |
66+
| `groupby_min` | 170.2 | 25.4 | 25.6 | 1.01× |
67+
| `groupby_multi_reducer` | 195.4 | 31.8 | 32.2 | 1.01× |
68+
| `groupby_select_order` | 168.0 | 18.5 | 18.5 | 1.00× |
69+
| `groupby_select_sum` | 197.7 | 35.6 | 35.7 | 1.00× |
70+
| `groupby_sum` | 168.5 | 18.4 | 18.4 | 1.00× |
71+
| `groupby_where_count` | 74.2 | 14.4 | 14.8 | 1.03× |
72+
| `groupby_where_sum` | 84.7 | 14.1 | 14.4 | 1.02× |
73+
| `indexed_lookup` | 1453.2 | 202198.9 | 470.2 | 0.00× |
74+
| `join_count` | 36.8 | 51.0 | 63.6 | 1.25× |
75+
| `join_groupby_count` | 153.9 | 78.3 | 90.1 | 1.15× |
76+
| `join_groupby_to_array` | 186.0 | 88.1 | 91.4 | 1.04× |
77+
| `join_select` || 72.0 | 83.8 | 1.16× |
78+
| `join_where_count` | 38.3 | 60.1 | 74.3 | 1.24× |
79+
| `last_match` | 0.0 | 5.7 | 13.9 | 2.44× |
80+
| `long_count_aggregate` | 28.1 | 4.0 | 4.0 | 1.00× |
81+
| `max_aggregate` | 29.3 | 6.0 | 6.8 | 1.13× |
82+
| `min_aggregate` | 29.2 | 6.0 | 6.7 | 1.12× |
83+
| `order_distinct_take` | 135.7 | 15.6 | 93.6 | 6.00× |
84+
| `order_reverse_normalized` | 36.4 | 16.0 | 19.8 | 1.24× |
85+
| `order_take_desc` | 36.3 | 15.9 | 19.8 | 1.25× |
86+
| `reverse_distinct_by` | 284.8 | 21.3 |||
87+
| `reverse_take` | 0.1 | 0.0 | 10.0 ||
88+
| `reverse_take_select` | 0.0 | 33.4 | 47.4 | 1.42× |
89+
| `select_count` | 0.1 | 0.0 | 2.2 ||
90+
| `select_where` | 190.8 | 10.9 | 19.1 | 1.75× |
91+
| `select_where_count` | 31.4 | 5.1 | 7.3 | 1.43× |
92+
| `select_where_order_take` | 35.3 | 12.1 | 14.7 | 1.21× |
93+
| `select_where_sum` | 35.8 | 7.4 | 7.4 | 1.00× |
94+
| `single_match` | 0.0 | 2.9 | 5.4 | 1.86× |
8995
| `skip_take` | 0.5 | 0.1 | 0.2 | 2.00× |
90-
| `skip_while_match` | 3.5 | 5.3 | 5.3 | 1.00× |
91-
| `sort_first` | 37.7 | 11.1 | 13.3 | 1.20× |
92-
| `sort_take` | 37.9 | 16.4 | 20.8 | 1.27× |
93-
| `sort_take_select` | 37.9 | 16.2 | 20.1 | 1.24× |
94-
| `sum_aggregate` | 30.2 | 2.2 | 2.1 | 0.95× |
95-
| `sum_where` | 32.3 | 4.3 | 4.2 | 0.98× |
96+
| `skip_while_match` | 3.4 | 5.2 | 5.3 | 1.02× |
97+
| `sort_first` | 36.6 | 10.9 | 13.2 | 1.21× |
98+
| `sort_take` | 38.8 | 16.2 | 20.5 | 1.27× |
99+
| `sort_take_select` | 36.9 | 16.0 | 19.8 | 1.24× |
100+
| `sum_aggregate` | 29.4 | 2.2 | 2.1 | 0.95× |
101+
| `sum_where` | 31.4 | 4.2 | 4.2 | 1.00× |
96102
| `take_count` | 3.6 | 0.2 | 0.4 | 2.00× |
97103
| `take_count_filtered` || 0.2 | 0.2 | 1.00× |
98104
| `take_sum_aggregate` || 0.1 | 0.1 | 1.00× |
99105
| `take_where_count` || 0.1 | 0.1 | 1.00× |
100-
| `take_while_match` | 7.8 | 2.4 | 2.5 | 1.04× |
101-
| `to_array_filter` | 70.1 | 11.7 | 11.8 | 1.01× |
102-
| `zip_count_pred` || 15.3 |||
103-
| `zip_dot_product` || 12.8 | 10.9 | 0.85× |
104-
| `zip_dot_product_3arg` || 12.9 |||
105-
| `zip_reverse_to_array` || 31.0 |||
106+
| `take_while_match` | 7.5 | 2.4 | 2.4 | 1.00× |
107+
| `to_array_filter` | 68.0 | 11.5 | 11.6 | 1.01× |
108+
| `zip_count_pred` || 15.1 |||
109+
| `zip_dot_product` || 12.5 | 10.9 | 0.87× |
110+
| `zip_dot_product_3arg` || 12.8 |||
111+
| `zip_reverse_to_array` || 31.1 |||
106112

107113
## JIT
108114

109115
| Benchmark | SQL (m1) | Array (m3f) | Decs (m4) | Decs vs Array |
110116
|---|---:|---:|---:|---:|
111-
| `aggregate_match` | 34.6 | 0.4 | 0.7 | 1.75× |
112-
| `all_match` | 27.6 | 0.3 | 0.2 | 0.67× |
113-
| `any_match` | 0.00 | 0.00 | 0.00 ||
114-
| `average_aggregate` | 29.8 | 1.0 | 3.6 | 3.60× |
115-
| `bare_order_where` | 196.3 | 35.4 | 36.8 | 1.04× |
116-
| `chained_select_collapse` || 2.2 | 2.2 | 1.00× |
117-
| `chained_where` | 36.4 | 0.6 | 0.9 | 1.50× |
118-
| `contains_match` | 0.00 | 0.2 | 0.1 | 0.50× |
119-
| `count_aggregate` | 29.0 | 0.4 | 0.6 | 1.50× |
117+
| `aggregate_match` | 33.8 | 0.4 | 0.7 | 1.75× |
118+
| `all_match` | 27.8 | 0.3 | 0.2 | 0.67× |
119+
| `any_match` | 0.0 | 0.0 | 0.0 ||
120+
| `average_aggregate` | 29.0 | 1.0 | 3.5 | 3.50× |
121+
| `bare_order_where` | 177.2 | 33.9 | 35.2 | 1.04× |
122+
| `chained_select_collapse` || 2.1 | 2.1 | 1.00× |
123+
| `chained_where` | 35.3 | 0.6 | 0.9 | 1.50× |
124+
| `contains_match` | 0.0 | 0.2 | 0.1 | 0.50× |
125+
| `count_aggregate` | 28.9 | 0.4 | 0.6 | 1.50× |
120126
| `decs_count_bare_pred` ||| 0.6 ||
121-
| `distinct_by_count` | 40.8 | 2.2 | 2.1 | 0.95× |
122-
| `distinct_by_order_take` | 247.0 | 2.7 | 3.3 | 1.22× |
123-
| `distinct_by_order_to_array` | 240.3 | 2.8 | 3.3 | 1.18× |
124-
| `distinct_count` | 41.2 | 2.1 | 2.1 | 1.00× |
125-
| `distinct_count_pred` | 250.2 | 2.1 | 2.3 | 1.10× |
126-
| `distinct_take` | 0.00 | 0.00 | 0.00 | |
127-
| `element_at_match` | 0.00 | 0.00 | 0.00 ||
128-
| `first_match` | 0.00 | 0.00 | 0.00 ||
129-
| `first_or_default_match` | 0.00 | 0.00 | 0.00 ||
130-
| `groupby_average` | 174.9 | 2.6 | 2.9 | 1.12× |
131-
| `groupby_count` | 142.7 | 2.4 | 2.5 | 1.04× |
132-
| `groupby_first` | 251.9 | 2.6 | 3.1 | 1.19× |
133-
| `groupby_having_count` | 148.8 | 2.4 | 2.5 | 1.04× |
134-
| `groupby_having_hidden_sum` | 175.4 | 2.5 | 2.8 | 1.12× |
135-
| `groupby_having_post_where` | 175.7 | 2.4 | 2.7 | 1.13× |
136-
| `groupby_max` | 183.8 | 2.4 | 2.7 | 1.13× |
137-
| `groupby_min` | 172.8 | 2.4 | 2.7 | 1.13× |
138-
| `groupby_multi_reducer` | 190.1 | 2.7 | 3.0 | 1.11× |
139-
| `groupby_select_order` | 170.5 | 2.4 | 2.7 | 1.13× |
140-
| `groupby_select_sum` | 201.4 | 3.2 | 3.7 | 1.16× |
141-
| `groupby_sum` | 170.1 | 2.4 | 2.7 | 1.13× |
142-
| `groupby_where_count` | 75.7 | 1.5 | 1.8 | 1.20× |
143-
| `groupby_where_sum` | 86.9 | 1.5 | 1.8 | 1.20× |
144-
| `indexed_lookup` | 1256.0 | 35187.8 | 108.3 | 0.00× |
145-
| `join_count` | 37.9 | 34.6 | 14.2 | 0.41× |
146-
| `join_groupby_count` | 157.8 | 47.2 | 22.1 | 0.47× |
147-
| `join_groupby_to_array` | 190.3 | 55.5 | 21.9 | 0.39× |
148-
| `join_select` || 41.6 | 22.6 | 0.54× |
149-
| `join_where_count` | 39.0 | 41.2 | 22.8 | 0.55× |
150-
| `last_match` | 0.00 | 0.5 | 1.4 | 2.80× |
151-
| `long_count_aggregate` | 29.0 | 0.4 | 0.6 | 1.50× |
152-
| `max_aggregate` | 30.8 | 0.6 | 0.5 | 0.83× |
153-
| `min_aggregate` | 30.8 | 0.6 | 0.5 | 0.83× |
154-
| `order_distinct_take` | 138.1 | 2.1 | 74.7 | 35.57× |
155-
| `order_reverse_normalized` | 37.8 | 0.7 | 1.3 | 1.86× |
156-
| `order_take_desc` | 37.9 | 0.7 | 1.3 | 1.86× |
157-
| `reverse_distinct_by` | 295.8 | 2.6 |||
158-
| `reverse_take` | 0.00 | 0.00 | 1.1 ||
159-
| `reverse_take_select` | 0.00 | 8.3 | 10.1 | 1.22× |
160-
| `select_count` | 0.1 | 0.00 | 0.00 ||
161-
| `select_where` | 105.0 | 4.1 | 5.6 | 1.37× |
162-
| `select_where_count` | 32.5 | 0.4 | 0.6 | 1.50× |
163-
| `select_where_order_take` | 36.9 | 0.7 | 1.3 | 1.86× |
164-
| `select_where_sum` | 37.3 | 0.5 | 0.6 | 1.20× |
165-
| `single_match` | 0.00 | 0.4 | 1.1 | 2.75× |
166-
| `skip_take` | 0.3 | 0.00 | 0.00 ||
167-
| `skip_while_match` | 3.4 | 0.4 | 0.4 | 1.00× |
168-
| `sort_first` | 37.6 | 0.4 | 1.3 | 3.25× |
169-
| `sort_take` | 38.1 | 0.7 | 1.3 | 1.86× |
170-
| `sort_take_select` | 38.2 | 0.7 | 1.3 | 1.86× |
171-
| `sum_aggregate` | 29.9 | 0.4 | 0.3 | 0.75× |
172-
| `sum_where` | 32.4 | 0.4 | 0.6 | 1.50× |
127+
| `distinct_by_count` | 40.1 | 2.1 | 2.1 | 1.00× |
128+
| `distinct_by_order_take` | 235.3 | 2.6 | 3.2 | 1.23× |
129+
| `distinct_by_order_to_array` | 238.8 | 2.7 | 3.3 | 1.22× |
130+
| `distinct_count` | 40.5 | 2.1 | 2.1 | 1.00× |
131+
| `distinct_count_pred` | 246.8 | 2.1 | 2.2 | 1.05× |
132+
| `distinct_take` | 0.0 | 0.1 | 0.0 | 0.00× |
133+
| `element_at_match` | 0.0 | 0.0 | 0.0 ||
134+
| `first_match` | 0.0 | 0.0 | 0.0 ||
135+
| `first_or_default_match` | 0.0 | 0.0 | 0.0 ||
136+
| `groupby_average` | 168.6 | 2.6 | 2.9 | 1.12× |
137+
| `groupby_count` | 141.0 | 2.3 | 2.5 | 1.09× |
138+
| `groupby_first` | 250.4 | 2.2 | 3.1 | 1.41× |
139+
| `groupby_having_count` | 146.9 | 2.3 | 2.5 | 1.09× |
140+
| `groupby_having_hidden_sum` | 171.6 | 2.5 | 2.8 | 1.12× |
141+
| `groupby_having_post_where` | 167.2 | 2.4 | 2.6 | 1.08× |
142+
| `groupby_max` | 168.0 | 2.4 | 2.6 | 1.08× |
143+
| `groupby_min` | 167.5 | 2.4 | 2.6 | 1.08× |
144+
| `groupby_multi_reducer` | 189.6 | 2.7 | 2.9 | 1.07× |
145+
| `groupby_select_order` | 168.3 | 2.4 | 2.6 | 1.08× |
146+
| `groupby_select_sum` | 190.1 | 3.2 | 3.6 | 1.12× |
147+
| `groupby_sum` | 165.7 | 2.7 | 2.7 | 1.00× |
148+
| `groupby_where_count` | 73.8 | 1.4 | 1.7 | 1.21× |
149+
| `groupby_where_sum` | 84.4 | 1.5 | 1.8 | 1.20× |
150+
| `indexed_lookup` | 1224.3 | 34689.8 | 106.0 | 0.00× |
151+
| `join_count` | 36.7 | 11.6 | 12.7 | 1.09× |
152+
| `join_groupby_count` | 153.3 | 19.4 | 21.6 | 1.11× |
153+
| `join_groupby_to_array` | 187.2 | 19.5 | 21.6 | 1.11× |
154+
| `join_select` || 19.7 | 22.2 | 1.13× |
155+
| `join_where_count` | 38.2 | 20.4 | 22.5 | 1.10× |
156+
| `last_match` | 0.0 | 0.5 | 1.4 | 2.80× |
157+
| `long_count_aggregate` | 28.0 | 0.4 | 0.6 | 1.50× |
158+
| `max_aggregate` | 29.5 | 0.6 | 0.5 | 0.83× |
159+
| `min_aggregate` | 29.4 | 0.6 | 0.5 | 0.83× |
160+
| `order_distinct_take` | 136.1 | 2.1 | 73.9 | 35.19× |
161+
| `order_reverse_normalized` | 36.5 | 0.7 | 1.3 | 1.86× |
162+
| `order_take_desc` | 36.5 | 0.7 | 1.3 | 1.86× |
163+
| `reverse_distinct_by` | 289.8 | 2.6 |||
164+
| `reverse_take` | 0.0 | 0.0 | 1.1 ||
165+
| `reverse_take_select` | 0.0 | 8.1 | 9.9 | 1.22× |
166+
| `select_count` | 0.1 | 0.0 | 0.0 ||
167+
| `select_where` | 105.0 | 4.1 | 5.3 | 1.29× |
168+
| `select_where_count` | 31.3 | 0.4 | 0.6 | 1.50× |
169+
| `select_where_order_take` | 35.2 | 0.7 | 1.3 | 1.86× |
170+
| `select_where_sum` | 35.8 | 0.5 | 0.6 | 1.20× |
171+
| `single_match` | 0.0 | 0.4 | 1.1 | 2.75× |
172+
| `skip_take` | 0.3 | 0.0 | 0.0 ||
173+
| `skip_while_match` | 3.3 | 0.4 | 0.4 | 1.00× |
174+
| `sort_first` | 36.4 | 0.4 | 1.3 | 3.25× |
175+
| `sort_take` | 36.4 | 0.7 | 1.3 | 1.86× |
176+
| `sort_take_select` | 37.1 | 0.7 | 1.4 | 2.00× |
177+
| `sum_aggregate` | 28.4 | 0.4 | 0.3 | 0.75× |
178+
| `sum_where` | 31.1 | 0.4 | 0.6 | 1.50× |
173179
| `take_count` | 1.8 | 0.1 | 0.1 | 1.00× |
174-
| `take_count_filtered` || 0.00 | 0.00 ||
175-
| `take_sum_aggregate` || 0.00 | 0.00 ||
176-
| `take_where_count` || 0.00 | 0.00 ||
177-
| `take_while_match` | 7.8 | 0.2 | 0.3 | 1.50× |
178-
| `to_array_filter` | 48.3 | 3.2 | 3.4 | 1.06× |
179-
| `zip_count_pred` || 0.7 |||
180+
| `take_count_filtered` || 0.0 | 0.0 ||
181+
| `take_sum_aggregate` || 0.0 | 0.0 ||
182+
| `take_where_count` || 0.0 | 0.0 ||
183+
| `take_while_match` | 7.4 | 0.2 | 0.3 | 1.50× |
184+
| `to_array_filter` | 45.7 | 3.1 | 3.2 | 1.03× |
185+
| `zip_count_pred` || 0.6 |||
180186
| `zip_dot_product` || 0.5 | 0.5 | 1.00× |
181187
| `zip_dot_product_3arg` || 0.5 |||
182-
| `zip_reverse_to_array` || 4.5 |||
188+
| `zip_reverse_to_array` || 4.3 |||
183189

184190
## Notes on missing lanes (the `` cells)
185191

0 commit comments

Comments
 (0)