Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
Performance improvements and simplifications for fixed size row-based rolling windows #17623
Performance improvements and simplifications for fixed size row-based rolling windows #17623
Changes from all commits
df81991
1b9670a
584bd73
554641e
3c47cfc
c14ffeb
8b64789
88796a3
432cacf
045b514
a4c6cdb
dbddc28
e22bf55
3b3b15f
fedda39
4e43c2b
b1777fb
65d0904
b6ed325
62fa800
0223341
a00525f
45e289a
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
Please check my working for integer overflow here.
preceding_window
andfollowing_window
both have typesize_type
(as doesi
). So this is all happening insize_type
arithmetic.Since
i
is the row index, it is contained in[0, ..., num_rows)
. Soi + 1
is always safe. So we just have to make sure that subtracting a negative preceding window never overflows, and adding a positive following window never overflows. This is handled by the clamping kernel.So if we inline that logic, this looks like:
I think none of these operations overflow if
num_rows == INT_MAX
but please check.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.
Again, this is now guaranteed by the caller.