-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
GH-34535: [C++] Move ChunkResolver to the public API #44357
Conversation
Co-authored-by: SChakravorti21<[email protected]>
I'm aware of the build failures and actively resolving them! |
For the failing R builds, this conversation needs to be resolved: #43623 |
e047151
to
786a055
Compare
375ef57
to
994ffc8
Compare
994ffc8
to
a838fd0
Compare
Yes, I agree this API should be made public. I've added tests and benchmarks recently [1]. [1] #43954 |
Please add a (Edit: Turns out PRs are merged via a script, and not a manual squash.) |
3646d0f
to
3d3e1be
Compare
I amended @SChakravorti21 as an author in a recent commit, so that the merge script will pick them up as a co-author. |
…_job Guard ChunkResolver use in altrep.cpp
Co-authored-by: Jacob Wujciak-Jens <[email protected]>
@assignUser The Java failure seems to be a network error! Is there a chance of merging this for the release? |
@anjakefala I'll re-run the job. This was not marked as a blocker and with rc0 already cut I will defer to @raulcd if we can add this to rc1 (if it will happen). |
There seem to be some actual java test errors now, I don't think they are related but am not ☕ to judge that. |
Is anyone against me merging this one? |
@anjakefala fix version was set to 19.0.0. You might want to change it on the issue to 18.0.0. |
After merging your PR, Conbench analyzed the 3 benchmarking runs that have been run so far on merge-commit 8208774. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. It also includes information about 15 possible false positives for unstable benchmarks that are known to sometimes produce them. |
### Rationale for this change Adopting #40226. The creation and return of a shared_ptr does result in some performance overhead, that makes a difference for a performance-sensitive application. If someone could use ChunkResolver to learn the indices, they could then instead access the data directly. ### What changes are included in this PR? - [X] Updates to documentation (thanks to @ SChakravorti21 ) - [X] Moving `ChunkResolver` to public API, and updating all references to it in the code ### Are these changes tested? There seemed to be comprehensive tests already: https://github.com/apache/arrow/blob/main/cpp/src/arrow/chunked_array_test.cc#L324 If an edgecase is missing, I'd be happy to add it. ### Are there any user-facing changes? `ChunkResolver` and `TypedChunkLocation` are now in the public API. * GitHub Issue: #34535 Lead-authored-by: Anja Kefala <[email protected]> Co-authored-by: anjakefala <[email protected]> Co-authored-by: Bryce Mecum <[email protected]> Co-authored-by: SChakravorti21 <[email protected]> Co-authored-by: SChakravorti21<[email protected]> Co-authored-by: Jacob Wujciak-Jens <[email protected]> Signed-off-by: Felipe Oliveira Carvalho <[email protected]>
Rationale for this change
Adopting #40226.
The creation and return of a shared_ptr does result in some performance overhead, that makes a difference for a performance-sensitive application.
If someone could use ChunkResolver to learn the indices, they could then instead access the data directly.
What changes are included in this PR?
ChunkResolver
to public API, and updating all references to it in the codeAre these changes tested?
There seemed to be comprehensive tests already: https://github.com/apache/arrow/blob/main/cpp/src/arrow/chunked_array_test.cc#L324 If an edgecase is missing, I'd be happy to add it.
Are there any user-facing changes?
ChunkResolver
andTypedChunkLocation
are now in the public API.