felipecrv commented on PR #35149: URL: https://github.com/apache/arrow/pull/35149#issuecomment-1542431720
> We have more efficient loop constructs for scanning entire null bitmaps, such as BitRunReader and BitBlockCounter. I'm aware, but these don't exist/work for REE and Union arrays (and potentially new formats in the future) as described in #34361. I added a fix that required adding branches to `IsNull` and `IsValid`. See #34408. The `ifs` are inlined, so compiler might even be able to elide them, but these versions would guarantee that. > Did you find any kernels that call IsNull or IsValid? Yes, but only as fallback for the types that don't have validity defined by a single bitmap. For instance, my fix of the `"hash_count"` kernel has a fallback to `IsNull` that is currently what makes union arrays give correct results https://github.com/apache/arrow/pull/35129/files#diff-c50313f1d80194615c5674cb64a1437c272a76da19027dabf8fb61ebffd7e2afR408 For REEs, I wrote a completely custom counting loop. Since I already have a `switch` there, it would be nice to tell the `IsNull` function exactly what type of array it's dealing with. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
