Repository navigation
Use aggregate results in array and encoding decisions - #10260
connortsui20 wants to merge 2 commits into
Conversation
Merging this PR will regress 2 benchmarks
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | WallTime | dict_canonicalize_gt_u8_neon[1000000] |
488.3 µs | 560.9 µs | -12.93% |
| ❌ | Simulation | for_compress_i32 |
103.5 µs | 117.7 µs | -12.05% |
| ⚡ | Simulation | decode_primitives[i64, (1000, 4)] |
40.4 µs | 29.3 µs | +38.15% |
| ⚡ | WallTime | mul_u64_nonnull_neon |
39.4 µs | 29 µs | +35.61% |
| ⚡ | WallTime | multiply_shapes_neon[(32768, PerRowPerRow)] |
38.4 µs | 32.8 µs | +17.06% |
| ⚡ | WallTime | mul_i64_nonnull_neon |
38.4 µs | 32.8 µs | +17.03% |
| ⚡ | WallTime | words_gather_dispatch_neon[65536] |
2.3 µs | 2 µs | +11.3% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing ct/stats-array-consumers (652fd9e) with ct/stats-node-aggregates (25c44a2)
Footnotes
-
503 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. ↩
Array and encoding decisions can now read the generic cache directly. Keep the existing cached shortcuts, null handling, and fallback behavior while producer and transfer callers still use the temporary statistics facade. Signed-off-by: Connor Tsui <[email protected]>
Signed-off-by: Connor Tsui <[email protected]>
b46bdee to
652fd9e
Compare
Superseded by #10265, which groups this change with the related statistics work. The original commits and branch are preserved.
Original PR description
Tracking Issue: #10177
Summary
Array and encoding decisions can now read aggregate results directly while keeping their existing cached shortcuts and fallback behavior. This removes another group of callers from the fixed-stat facade without changing which decisions require computation.
Changes
Move validity queries, cast bounds, List/ListView statistics, and encoding decisions to bound aggregate requests. Display metadata and datetime fill values still read only cached results, with the same null handling.
For review, start with validity and primitive casts, then read the FastLanes and datetime-parts consumers.
Stack
Migration stack #10229, in review order: #10226 → #10227 → #10232 → #10235 → #10236 → #10252 → #10253 → #10257 → #10258 → #10259 → #10260 → #10261. Independent fixes: file Sum overflow #10228 and empty Constant aggregate states #10254.