fallintoplace opened a new pull request, #2197: URL: https://github.com/apache/iceberg-go/pull/2197
**What** - Use pair keys for two-file equality-delete cache entries. **Why** - Pair cache hits currently build a byte slice and string. **Implementation** - Use comparable keys in eager and lazy caches. Keep string keys for 3+ files. **Benchmark** - Go 1.26.3, Apple M1 Pro, darwin/arm64; 7 alternating 1s samples, `-cpu=1`. - Base `4fdbf65e`; head `718ad988`. The base used the same workload with its two-argument cache API. - Two files, eager: 31.69 ns/op, 16 B, 1 alloc → 10.18 ns/op, 0 B, 0 alloc (-68%). - Two files, lazy: 97.47 ns/op, 56 B, 3 allocs → 65.16 ns/op, 40 B, 2 allocs (-33%). - One-file controls stayed near 2.3 ns/op with 0 allocations. Three-file controls were unchanged within run-to-run noise. - Command: `go test ./table -run '^$' -bench '^BenchmarkEqualityDeleteCombinationCache$' -benchmem -benchtime=1s -count=7 -cpu=1` -- 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]
