fallintoplace opened a new pull request, #1800:
URL: https://github.com/apache/iceberg-go/pull/1800

   ## Summary
   
   - Add a short-circuit traversal for boolean evaluator visitors.
   - Skip the right side of AND when the left side is false.
   - Skip the right side of OR when the left side is true.
   - Use it for row, manifest, inclusive metrics, and strict metrics evaluation.
   - Keep VisitExpr unchanged for visitors that need to see every expression 
node.
   
   ## Benchmark
   
   On an Apple M1 Pro, with a 32-field short-circuit-heavy expression:
   
   - Full traversal: about 1,189 ns/op
   - Short-circuit traversal: about 35 ns/op
   - About 34x faster
   - 0 B/op and 0 allocs/op in both paths
   
   The benchmark is included in visitors_bench_test.go.
   
   ## Tests
   
   - go test . ./table
   - go test -race . ./table


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to