delamarch3 commented on PR #6691: URL: https://github.com/apache/arrow-rs/pull/6691#issuecomment-2466781885
I'm not sure calling `take` on each iteration will work because it takes ownership of the `Iterator` so it needs to be reassigned on each `run_ends` iteration, but then it will always take on the first n elements, unless you had something else in mind? I did try `BitIterator::new(filter_values.values(), start, end - start)` to try achieve something similar but It turned out to be slower. I had to create a temp variable with the count for assigning `keep` after the loop, ie `let keep = count > count_before`, for the algorithm to still be correct, but this was also slower. -- 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]
