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.
814Fixture size: n = 100 000 (cars), 100 dealers, 5 brands. Each row is
915one bench family in ` benchmarks/sql/ ` ; columns are nanoseconds per
1016logical 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