Skip to content

Use aggregate results in array and encoding decisions - #10260

Closed
connortsui20 wants to merge 2 commits into
ct/stats-node-aggregatesfrom
ct/stats-array-consumers
Closed

connortsui20 wants to merge 2 commits into
ct/stats-node-aggregatesfrom
ct/stats-array-consumers

Conversation

@connortsui20

@connortsui20 connortsui20 commented Oct 3, 2026 •

Copy link
Copy Markdown
Member

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.

@codspeed

codspeed Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

Merging this PR will regress 2 benchmarks

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

⚡ 5 improved benchmarks
❌ 2 regressed benchmarks
✅ 2096 untouched benchmarks
⏩ 503 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

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)

Open in CodSpeed

Footnotes

  1. 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]>
@connortsui20
connortsui20 force-pushed the ct/stats-array-consumers branch from b46bdee to 652fd9e Compare October 3, 2026 02:08
@connortsui20
connortsui20 removed this pull request from stack #10229 October 5, 2026 10:31
@connortsui20
connortsui20 deleted the ct/stats-array-consumers branch October 5, 2026 10:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/chore A trivial change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant