Commit add6944
authored
feat: exploit PiecewiseSequence for faster take (#8802)
1. Extension pushes take down into its children. This ensures extension
types benefit from the other PiecewiseSequence optimizations.
2. Ensure `List(List(...(List(Primitive))).take(indices)` keeps
broadening the slices all the way down to the Primitive array.
3. Implement list view rebuild using PiecewiseSequence, since rebuild is
just take anyway!
---------
Signed-off-by: Daniel King <dan@spiraldb.com>1 parent 2ea51cb commit add6944
5 files changed
Lines changed: 1085 additions & 82 deletions
File tree
- vortex-array/src/arrays
- extension/compute
- listview
- list/compute
- piecewise_sequence
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
50 | 51 | | |
51 | 52 | | |
52 | 53 | | |
| 54 | + | |
53 | 55 | | |
54 | 56 | | |
55 | 57 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| 13 | + | |
13 | 14 | | |
14 | 15 | | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
15 | 31 | | |
16 | 32 | | |
17 | 33 | | |
| |||
0 commit comments