Commit e3eabde
Feature: implement
Tracking Issue: #5652
Adds batched execution to `DictArray`, which is just implemented as
`take` on the child `values` vector with the codes as indices.
~~Additionally adds an optimization for `BoolVector::take` which is
similar to the optimization we have for `BoolArray`'s `canonicalize`
function, but does an additional check for zero or one `false`s (instead
of just zero or one `true`s). That code is located at
https://github.com/vortex-data/vortex/blob/develop/vortex-array/src/arrays/dict/vtable/canonical.rs.~~
~~The difference here is that I use a heuristic check on the default
`take` implementation on `BoolVector` (instead of only use this
optimization for dictionary decompression) because I don't think there
is any reason not to utilize this in general.~~
~~I still need to add some benchmarks.~~
Also note that we don't need to specialize for the string types like in
#1146 since we are _always_
decompressing the children immediately.
Signed-off-by: Connor Tsui <[email protected]>
Co-authored-by: Joe Isaacs <[email protected]>DictArray batched execute (#5686)1 parent 6e2a2a0 commit e3eabde
1 file changed
+16
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| |||
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
19 | 23 | | |
20 | 24 | | |
21 | 25 | | |
| |||
124 | 128 | | |
125 | 129 | | |
126 | 130 | | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
127 | 143 | | |
0 commit comments