-
Notifications
You must be signed in to change notification settings - Fork 5.8k
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
expression: implement vectorized evaluation for builtinRepeatSig
#12014
Conversation
Codecov Report
@@ Coverage Diff @@
## master #12014 +/- ##
===============================================
- Coverage 81.3794% 81.3405% -0.039%
===============================================
Files 446 447 +1
Lines 95658 95646 -12
===============================================
- Hits 77846 77799 -47
- Misses 12287 12310 +23
- Partials 5525 5537 +12 |
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.
LGTM
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.
LGTM
/run-all-tests |
to #12058 |
i find a TODO at line 34 in expression/builtin_string_vec.go // TODO: introduce vectorized null-bitmap to speed it up.
if buf.IsNull(i) || buf2.IsNull(i) {
result.AppendNull()
continue
} I'm curious about how this should be done. Is it right to use function buf.MergeNulls(buf2) // before the for loop
for i := 0; i < n; i++ {
if buf.IsNull(i) { // reduce a IsNull call here
result.AppendNull()
continue
} I tried to run benchmark test but didn't find a significant performance improvement. |
What problem does this PR solve?
Implement vectorized evaluation for
builtinRepeatSig
.What is changed and how it works?
Almost 1.5s faster than before:
Check List
Tests