fallintoplace opened a new pull request, #2243: URL: https://github.com/apache/iceberg-go/pull/2243
### What Reduce allocations in `internal.Difference` when building the result slice. ### Why Large inputs can allocate and copy more than needed while filtering excluded values. ### Implementation - Size and fill the result using the input and exclusion counts. - Keep the existing output order and filtering behavior. ### Benchmark - Go 1.26.3, Apple M1 Pro, median of 5 runs. - 1,024 values, no exclusions: 23.921 → 4.758 µs/op (about 5x), 59,760 → 18,432 B/op, 12 → 1 allocations. - 8,192 values, half excluded: 534.931 → 332.189 µs/op (about 1.6x), 676,392 → 458,416 B/op, 61 → 32 allocations. - This measures `internal.Difference` directly. -- 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]
