for ((a, b), vis) in aaa.iter()
.zip_eq(bbb.iter())
.zip_eq(chunk.visibility().iter()) {
if !vis {
continue
}
// do something
}
Use bitmap::iter_ones() can optimize the performance by skipping the invisible rows with SIMD bit operation https://github.com/risingwavelabs/risingwave/pull/9278, especially when the selectivity visibility bitmap is low.
We have many logic like this
Use
bitmap::iter_ones()
can optimize the performance by skipping the invisible rows with SIMD bit operation https://github.com/risingwavelabs/risingwave/pull/9278, especially when the selectivity visibility bitmap is low.An example is https://github.com/risingwavelabs/risingwave/pull/9329