Skip to content

Commit ccda647

Browse files
joseph-isaacsrobert3005
authored andcommitted
fix
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
1 parent 01bbd77 commit ccda647

1 file changed

Lines changed: 1 addition & 10 deletions

File tree

  • vortex-array/src/arrays/interleave/execute

vortex-array/src/arrays/interleave/execute/bool.rs

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,6 @@ pub(super) fn execute(
4343
value_bits.push(array.value(i).as_::<Bool>().to_bit_buffer());
4444
}
4545

46-
// Hold the validity as a pushed-down interleave rather than applying it: the routing pair for
47-
// each output selects the value *and* its validity bit, so the output validity is itself an
48-
// interleave (by these selectors) of the values' validities. This bottoms out lazily.
4946
let validity = array.as_ref().validity()?;
5047

5148
// Scatter directly from the typed selector buffers — no intermediate `usize` materialization.
@@ -117,13 +114,7 @@ fn validate_selectors<A: AsPrimitive<usize>, R: AsPrimitive<usize>>(
117114
/// Gathers one bit per output from `bits[branches[i]]` at position `rows[i]`, packing 64 results per
118115
/// word with [`BitBufferMut::collect_bool`].
119116
///
120-
/// For a random-access gather there is no word-level shortcut on the read side — consecutive outputs
121-
/// read unrelated source words — so the work is one bit read per output. Each read indexes the
122-
/// `&[BitBuffer]` slice and uses [`BitBuffer::value_unchecked`]. Benchmarking (`gather_values` in
123-
/// `benches/interleave.rs`) showed this beats pre-hoisting a `(ptr, bit_offset)` table per buffer:
124-
/// the table's extra indirection and per-call allocation cost more than reloading the selected
125-
/// buffer's pointer/offset, which stay hot in its `BitBuffer` struct. The bounds-checked
126-
/// `BitBuffer::value` is slower still.
117+
/// The bounds-checked `BitBuffer::value` is slower still.
127118
///
128119
/// # Safety
129120
///

0 commit comments

Comments
 (0)