fallintoplace opened a new pull request, #1942: URL: https://github.com/apache/iceberg-go/pull/1942
## Summary - Fuse logical-type conversion into the final name-keyed Avro map. - Remove the temporary ID-keyed converted map. - Keep date, timestamp, decimal, primitive, and unknown-field handling. - Add focused partition conversion benchmarks. ## Benchmark Median of 5 runs on an Apple M1 Pro with `GOMAXPROCS=1`. Command: ```text GOMAXPROCS=1 go test -run '^$' -bench '^BenchmarkAvroEncodePartitionData$' -benchmem -benchtime=500ms -count=5 . ``` | Case | Before | After | Speedup | | --- | ---: | ---: | ---: | | 4 primitive fields | 565 ns/op | 322 ns/op | 1.75x | | 4 logical fields | 749 ns/op | 484 ns/op | 1.55x | | 16 primitive fields | 2.80 us/op | 1.01 us/op | 2.76x | | 16 logical fields | 3.70 us/op | 1.91 us/op | 1.94x | For the 16 logical field case, memory dropped from 3,280 B/op and 35 allocs/op to 1,639 B/op and 28 allocs/op. The existing end-to-end manifest writer benchmark also improved for 10,000 entries: - 44.37 ms/op -> 41.00 ms/op, about 8% faster - 22.33 MB/op -> 19.77 MB/op - 120,463 allocs/op -> 100,460 allocs/op Command: ```text GOMAXPROCS=1 go test -run '^$' -bench '^BenchmarkManifestWriterPartitionSummaries$' -benchmem -benchtime=1s -count=5 . ``` ## Checks - `go test . -count=1` - `go test ./table/... -count=1` - All non-cloud packages pass - `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]
