-
Notifications
You must be signed in to change notification settings - Fork 373
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pass through strings using arrow2::Buffers #2931
Conversation
2547eff
to
5e2ff49
Compare
5e2ff49
to
bd2c2ac
Compare
33e3c1a
to
87d1b4b
Compare
5eae3dd
to
603778d
Compare
87d1b4b
to
304e01d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice!
arrow2::bitmap::utils::ZipValidity::new_with_validity( | ||
offsets.iter().zip(offsets.lengths()), | ||
downcast.validity(), | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, I probably could've used that in a few places 😅
Does this close #1887 ? |
It's at least related. This only affects code-generated strings, so we need to migrate TextEntry to codegen. Also need to take a look at how the TextEntry query results are used to make sure we aren't gratuitously converting them back to strings somewhere in the query path. |
### What Add a new benchmark of strings so we can verify the move to buffers in #2931 is actually an improvement. ### Checklist * [x] I have read and agree to [Contributor Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md) * [x] I've included a screenshot or gif (if applicable) * [x] I have tested [demo.rerun.io](https://demo.rerun.io/pr/2926) (if applicable) - [PR Build Summary](https://build.rerun.io/pr/2926) - [Docs preview](https://rerun.io/preview/pr%3Ajleibs%2Fstrings_and_bench/docs) - [Examples preview](https://rerun.io/preview/pr%3Ajleibs%2Fstrings_and_bench/examples)
304e01d
to
3940e90
Compare
What
This avoids copying strings and lets us end up with
&str
references pointed directly at the underlying arrow buffer.1.8x speedup on mono_strings and 8.7x speedup on batch strings:
Checklist