Skip to content
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-43211: [C++] Fix decimal benchmarks to avoid out-of-bounds accesses #43212

Merged
merged 1 commit into from
Jul 15, 2024

Conversation

pitrou
Copy link
Member

@pitrou pitrou commented Jul 10, 2024

Rationale for this change

Some of the decimal benchmarks access their benchmark data in strides, without checking that the accesses fall within bounds.

A side effect is that this will break benchmark history because the iterations/s calculation was wrong, even though actual performance is unchanged.

Are these changes tested?

By the continuous benchmarking jobs.

Are there any user-facing changes?

No.

…ccesses

A side effect is that this will break benchmark history because the previous iterations/s calculation was wrong, even though actual performance is unchanged.
@pitrou
Copy link
Member Author

pitrou commented Jul 10, 2024

@raulcd @austin3dickey This should fix the recent crashes on the macOS ARM machine.

@pitrou
Copy link
Member Author

pitrou commented Jul 10, 2024

@ursabot please benchmark lang=C++

@ursabot
Copy link

ursabot commented Jul 10, 2024

Benchmark runs are scheduled for commit a18bd6d. Watch https://buildkite.com/apache-arrow and https://conbench.ursa.dev for updates. A comment will be posted here when the runs are complete.

Copy link

Thanks for your patience. Conbench analyzed the 4 benchmarking runs that have been run so far on PR commit a18bd6d.

There were 14 benchmark results indicating a performance regression:

The full Conbench report has more details.

@pitrou
Copy link
Member Author

pitrou commented Jul 10, 2024

@pitrou
Copy link
Member Author

pitrou commented Jul 11, 2024

@felipecrv This is a small one, would you like to take a quick look?

Comment on lines -96 to +98
auto greater_than_or_equal2 = v1[x + 3] >= v1[x + 3];
auto greater_than_or_equal2 = v1[x + 3] >= v2[x + 3];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oops

@github-actions github-actions bot added awaiting merge Awaiting merge and removed awaiting review Awaiting review labels Jul 11, 2024
@pitrou pitrou merged commit d21761e into apache:main Jul 15, 2024
40 of 41 checks passed
@pitrou pitrou removed the awaiting merge Awaiting merge label Jul 15, 2024
@pitrou pitrou deleted the gh43211-decimal-benchmark-oob branch July 15, 2024 14:22
Copy link

After merging your PR, Conbench analyzed the 4 benchmarking runs that have been run so far on merge-commit d21761e.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details. It also includes information about 5 possible false positives for unstable benchmarks that are known to sometimes produce them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants