GH-48245: [C++][Parquet] Simplify GetVlqInt#48237
Conversation
|
Thanks for opening a pull request! If this is not a minor PR. Could you open an issue for this pull request on GitHub? https://github.com/apache/arrow/issues/new/choose Opening GitHub issues ahead of time contributes to the Openness of the Apache Arrow project. Then could you also rename the pull request title in the following format? or See also: |
|
@ursabot please benchmark lang=C++ |
|
Benchmark runs are scheduled for commit 3550957. 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 3550957. There were 4 benchmark results indicating a performance regression:
The full Conbench report has more details. |
|
After merging your PR, Conbench analyzed the 4 benchmarking runs that have been run so far on merge-commit 11d64b5. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. It also includes information about 6 possible false positives for unstable benchmarks that are known to sometimes produce them. |
### Rationale for this change The `BitReader::GetVlqInt` implementation currently tries to read first from the cached value before falling back to reading from the buffer. But this doesn't bring any benefit, since both code paths lead to the same processing step afterwards. So we can remove the code path that tries to read from the cached value. This will also make it easier to support big-endian platforms. ### Are these changes tested? Yes, by existing tests. ### Are there any user-facing changes? No. Authored-by: Antoine Pitrou <antoine@python.org> Signed-off-by: Antoine Pitrou <antoine@python.org>
Rationale for this change
The
BitReader::GetVlqIntimplementation currently tries to read first from the cached value before falling back to reading from the buffer.But this doesn't bring any benefit, since both code paths lead to the same processing step afterwards. So we can remove the code path that tries to read from the cached value. This will also make it easier to support big-endian platforms.
Are these changes tested?
Yes, by existing tests.
Are there any user-facing changes?
No.