Skip to content

GH-20351: [C++] Kernel input type matcher for run-end encoded types - #34503

Merged
zeroshade merged 3 commits into
apache:mainfrom
felipecrv:ree_type_matcher
Mar 13, 2023
Merged

zeroshade merged 3 commits into
apache:mainfrom
felipecrv:ree_type_matcher

Conversation

@felipecrv

@felipecrv felipecrv commented Mar 8, 2023 •

Copy link
Copy Markdown
Contributor

Rationale for this change

This is necessary to be able to specify dispatching of filters based on run-end encoded array (upcoming PR).

Are these changes tested?

Yes. By unit tests.

@github-actions

github-actions Bot commented Mar 8, 2023

Copy link
Copy Markdown

@felipecrv
felipecrv force-pushed the ree_type_matcher branch 2 times, most recently from b4e986f to 1601f74 Compare March 8, 2023 16:07
@felipecrv
felipecrv marked this pull request as ready for review March 8, 2023 16:14
@felipecrv
felipecrv requested a review from westonpace as a code owner March 8, 2023 16:14
@felipecrv

Copy link
Copy Markdown
Contributor Author

@zeroshade

Comment on lines 221 to +224
Iterator iterator(int64_t logical_pos) const {
assert(logical_pos < length());
return iterator(logical_pos, PhysicalIndex(logical_pos));
return iterator(logical_pos, logical_pos < length()
? PhysicalIndex(logical_pos)
: RunEndsArray(array_span).length);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

was this caught by a test?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I tried to use this class for something new and I realized this assert was too restrictive: it's not necessary for the correct working of the class.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

PhysicalIndex(logical_pos) triggers an assert if a bad index is passed, so that's why I have the conditional now.

@zeroshade zeroshade left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM

@zeroshade
zeroshade merged commit 9c218ab into apache:main Mar 13, 2023
@felipecrv
felipecrv deleted the ree_type_matcher branch March 13, 2023 17:38
@ursabot

ursabot commented Mar 14, 2023

Copy link
Copy Markdown

Benchmark runs are scheduled for baseline = dbc1e90 and contender = 9c218ab. 9c218ab is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
Conbench compare runs links:
[Finished ⬇️0.0% ⬆️0.0%] ec2-t3-xlarge-us-east-2
[Finished ⬇️0.39% ⬆️0.06%] test-mac-arm
[Finished ⬇️0.51% ⬆️0.0%] ursa-i9-9960x
[Finished ⬇️0.75% ⬆️0.06%] ursa-thinkcentre-m75q
Buildkite builds:
[Finished] 9c218abb ec2-t3-xlarge-us-east-2
[Finished] 9c218abb test-mac-arm
[Finished] 9c218abb ursa-i9-9960x
[Finished] 9c218abb ursa-thinkcentre-m75q
[Finished] dbc1e90b ec2-t3-xlarge-us-east-2
[Finished] dbc1e90b test-mac-arm
[Finished] dbc1e90b ursa-i9-9960x
[Finished] dbc1e90b ursa-thinkcentre-m75q
Supported benchmarks:
ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python, R. Runs only benchmarks with cloud = True
test-mac-arm: Supported benchmark langs: C++, Python, R
ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java

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.

[C++] Kernel input type matcher for RLE

4 participants