-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Optimize BinaryExpr Evaluation with Short-Circuiting for AND/OR Operators #15648
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
Closed
Closed
Changes from all commits
Commits
Show all changes
33 commits
Select commit
Hold shift + click to select a range
03e02bd
Enhance short-circuit evaluation for binary expressions
kosiew fc49c34
refactor: rename test_check_short_circuit to test_get_short_circuit_r…
kosiew b5ab6f4
fix: enhance short-circuit evaluation logic in get_short_circuit_resu…
kosiew f5c83e2
feat: add debug logging for binary expression evaluation and short-ci…
kosiew 7971035
fix: improve short-circuit evaluation logic in BinaryExpr to ensure R…
kosiew 4fa7711
fix: restrict short-circuit evaluation to logical operators in get_sh…
kosiew 25394d8
add more println!("==> ");
kosiew f533532
fix: remove duplicate data type checks for left and right operands in…
kosiew 5b1641c
feat: add debug prints for dictionary values and keys in binary expre…
kosiew d416c72
Tests pass
kosiew ed6451f
fix: remove redundant short-circuit evaluation check in BinaryExpr an…
kosiew ae25207
refactor: remove unnecessary debug prints and streamline short-circui…
kosiew 308d7b4
test: enhance short-circuit evaluation tests for nullable and scalar …
kosiew a62df47
refactor: enhance short-circuit evaluation strategy in BinaryExpr to …
kosiew 17ca22b
Revert "refactor: enhance short-circuit evaluation strategy in Binary…
kosiew 3fe3742
bench: add benchmark for OR operation with all false values in short-…
kosiew 89fb9e3
Merge branch 'main' into short-and-enum
kosiew 582b38a
refactor: add ShortCircuitStrategy enum to optimize short-circuit eva…
kosiew 31fd5d8
refactor: simplify short-circuit evaluation logic in check_short_circ…
kosiew aef4153
datafusion_expr::lit as expr_lit
kosiew 85c6b67
fix short_circuit/or/all_false benchmark
kosiew 8b910e1
refactor: optimize short-circuit evaluation in check_short_circuit fu…
kosiew e2b9f77
refactor: add count_boolean_values helper function and optimize check…
kosiew b130b24
Revert "refactor: add count_boolean_values helper function and optimi…
kosiew 9faaee3
add benchmark
kosiew 3c4a5fd
Merge branch 'main' into short-and
kosiew c1987e3
refactor: improve short-circuit logic in BinaryExpr for logical opera…
kosiew 982e847
Merge branch 'short-and-enum' into short-and
kosiew 534c5a3
check main binary_op.rs
kosiew d96b50d
optimise evaluate
kosiew 583095e
optimise evaluate 2
kosiew 19de99c
refactor op:AND, lhs all false op:OR, lhs all true to be faster
kosiew 8f3ef97
fix clippy warning
kosiew File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
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.
a rewrite while trying to optimize this function.