-
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-45624: [C++][Parquet] BitReader optimize case for num_bits == 1 #45625
Conversation
|
On my MacOS M1Pro with release O2 with LLVM-17: Before:
After:
|
@ursabot please benchmark |
Benchmark runs are scheduled for commit 2f8f27d. Watch https://buildkite.com/apache-arrow and https://conbench.ursa.dev for updates. A comment will be posted here when the runs are complete. |
Thanks for your patience. Conbench analyzed the 4 benchmarking runs that have been run so far on PR commit 2f8f27d. There were 3 benchmark results indicating a performance regression:
The full Conbench report has more details. |
Well, the benchmark results don't look terrific. Only |
Also, the PR complicates already complicated code. I would only be in favor if there was a really sizable improvement with this. |
Actually I think the |
Rationale for this change
The benchmark shows that, in
parquet-column-reader-benchmark
, theGetValue_
takes half of the times. We can try to optimize this.What changes are included in this PR?
Avoid call
detail::GetValue_
if possible.Are these changes tested?
Covered by existing
Are there any user-facing changes?
No