Repository navigation
Add repeated array that repeats a child array n times - #10950
robert3005 wants to merge 5 commits into
Conversation
TiledArray repeats its child end to end `count` times. Execution decodes the child once and appends it per tile via Chunked; scalar_at wraps the index; validity tiles the child's validity. Reduce rules collapse empty, single-count, constant-child and nested tiles, and slices within one tile or over whole tiles stay cheap. It is in-memory only and not registered for serialization. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018SWbEv9WiVtYt84zf3rXEu Signed-off-by: Claude <noreply@anthropic.com>
The fixed-size list builder's repeated-list append and constant fixed-size list canonicalization both tiled one array by building a ChunkedArray of n clones of it. Build a TiledArray instead, which stores the count rather than n chunk references and offsets. The builder optimizes the result so a constant tile collapses into one constant. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018SWbEv9WiVtYt84zf3rXEu Signed-off-by: Claude <noreply@anthropic.com>
Rename the Tiled encoding to Repeated: the module becomes arrays::repeated, the types RepeatedArray, RepeatedData and RepeatedSlots, and the encoding ID vortex.repeated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018SWbEv9WiVtYt84zf3rXEu Signed-off-by: Claude <noreply@anthropic.com>
Take the child length from the array rather than the probe, which has no len(); use is_multiple_of; build the test builder with an explicit allocator; and apply rustfmt. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018SWbEv9WiVtYt84zf3rXEu Signed-off-by: Claude <noreply@anthropic.com>
Optimizing the repeated elements collapses a repeated constant tile into one constant array, so the test asserts the elements are constant rather than a chunked array of constants. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018SWbEv9WiVtYt84zf3rXEu Signed-off-by: Claude <noreply@anthropic.com>
Merging this PR will degrade performance by 0.06%2 warnings
Warning Please fix the performance issues or acknowledge them on CodSpeed. Performance Changes
Tip Investigate this regression by commenting Comparing Footnotes |
|
CodSpeed Performance Analysis is red, but the 8 regressions don't come from this PR. Every other check on
There's no code fix to make. The regressions need acknowledging in CodSpeed to clear the check. Generated by Claude Code |
TiledArray repeats its child end to end
counttimes. Execution decodesthe child once and appends it per tile via Chunked; scalar_at wraps the
index; validity tiles the child's validity. Reduce rules collapse empty,
single-count, constant-child and nested tiles, and slices within one tile
or over whole tiles stay cheap. It is in-memory only and not registered
for serialization.