chore: refactor SortMergeJoin bitwise stream to generators and simplify to be textbook like as possible#23761
Conversation
|
run benchmark smj |
|
🤖 Benchmark running (GKE) | trigger CPU Details (lscpu)Comparing let-claude-try-refactor-bitwise-stream-to-use-generator (d3e32e9) to ed22a4a (merge-base) diff using: smj File an issue against this benchmark runner |
|
Love to see a negative line count! |
|
🤖 Benchmark completed (GKE) | trigger Instance: CPU Details (lscpu)Details
Resource Usagesmj — base (merge-base)
smj — branch
File an issue against this benchmark runner |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #23761 +/- ##
==========================================
+ Coverage 80.69% 80.71% +0.01%
==========================================
Files 1089 1089
Lines 368447 368653 +206
Branches 368447 368653 +206
==========================================
+ Hits 297332 297556 +224
+ Misses 53405 53338 -67
- Partials 17710 17759 +49 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
…e when waiting for inputs
Now its not due to added tests to make sure we are not counting child/consumer time, but the stream file still have negative line count! |
Which issue does this PR close?
N/A
Rationale for this change
SortMergeJoin bitwise stream implementation is very complex and hard to understand while on paper it should be pretty simple.
the reason for that is we have to store state between polls (we had
boundary) and handle the case where both can getPoll::Pendingfrom child andPoll::Readyfrom child which further complicate the codeWhat changes are included in this PR?
(this was entirely written by Claude Fable, sorry 😅 )
Are these changes tested?
existing tests
Are there any user-facing changes?
no