fallintoplace opened a new pull request, #1895: URL: https://github.com/apache/iceberg-go/pull/1895
## What changed `partitionFieldStats.update` used reflection for every non-null partition value. This runs once for every partition field in every manifest entry. This PR: - stores a typed converter when each field stat is created - handles scalar, logical, literal, UUID, binary, and decimal values without reflection - keeps the defensive copy for binary bounds - keeps the existing error for unsupported values ## Benchmark Existing `BenchmarkManifestWriterPartitionSummaries`, 10,000 entries, Apple M1 Pro, Go 1.26.3: - allocations: 140,485 -> 120,485, about 14% fewer - allocated bytes: about 22.4 MB -> 22.3 MB - time: about 38.7 ms -> 38.0 ms ## Tests - `go test . -count=1` - `go test -race . -count=1` - `go test ./... -run '^$' -count=1`\n- tests for all non-integration packages\n- `go vet ./...` -- 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]
