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]

Reply via email to