2: Add NullCount aggregate function#7929
Conversation
Merging this PR will degrade performance by 16.64%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Simulation | new_bp_prim_test_between[i16, 32768] |
121 µs | 134.7 µs | -10.15% |
| ❌ | Simulation | new_bp_prim_test_between[i32, 16384] |
95.3 µs | 109.5 µs | -12.94% |
| ❌ | Simulation | new_bp_prim_test_between[i64, 32768] |
178.8 µs | 237.2 µs | -24.6% |
| ❌ | Simulation | new_bp_prim_test_between[i32, 32768] |
141.7 µs | 170.4 µs | -16.84% |
| ❌ | Simulation | new_bp_prim_test_between[i64, 16384] |
115.9 µs | 144.9 µs | -19.98% |
| ❌ | Simulation | new_alp_prim_test_between[f64, 16384] |
127.7 µs | 149.3 µs | -14.51% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing ngates/stats-7707/null-count-stat-wrappers (85a04e0) with ngates/aggregatefn-stat-bridge-cleanup (7b76045)
Footnotes
-
24 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
02d39d4 to
4896ec4
Compare
07bfcdc to
261cbe4
Compare
4896ec4 to
75ba3eb
Compare
261cbe4 to
0dce6a1
Compare
Part of #7707. Stack: 1/3 Base: `develop` Next: #7929 ## Summary - Remove the explicit chunked-array special case from `StatFn::execute`. - Rely on the existing chunked scalar-function pushdown path to preserve per-chunk stat results. - Keep the existing chunked stats regression test covering the behavior. ## Checks - `cargo test -p vortex-array stat_expr_reads_cached_sum_per_chunk` Signed-off-by: "Nicholas Gates" <nick@nickgates.com>
75ba3eb to
2839387
Compare
Signed-off-by: Nicholas Gates <nick@nickgates.com>
2839387 to
85a04e0
Compare
19e7315
into
ngates/aggregatefn-stat-bridge-cleanup
This reverts commit 19e7315. Signed-off-by: Nicholas Gates <nick@nickgates.com>
Part of #7707. Replacement for #7929 after the accidental merge was reverted before #7931 landed. Base: `develop` Next: #7930 ## Summary - Add a `NullCount` aggregate wrapper and register it in the aggregate function session. - Bridge `Stat::NullCount` through the `Stat` aggregate-function mapping introduced by #7931. - Add stats expression constructors used by the current pruning/stat expression path. ## Checks - `cargo test -p vortex-array null_count` - `cargo test -p vortex-array stat_expr` - `./scripts/public-api.sh` - `cargo clippy --all-targets --all-features` Signed-off-by: Nicholas Gates <nick@nickgates.com>
Part of #7707.
Base: #7931
Next: #7930
Summary
NullCountaggregate wrapper and register it in the aggregate function session.Stat::NullCountthrough theStataggregate-function mapping introduced by Centralize aggregate stat bridge #7931.Checks
cargo test -p vortex-array null_countcargo test -p vortex-array stat_expr./scripts/public-api.shcargo clippy --all-targets --all-features