fallintoplace opened a new pull request, #1991: URL: https://github.com/apache/iceberg-go/pull/1991
## What - Parse the default metrics mode once when building the stats plan. - Parse column overrides once and reuse the parsed values while visiting fields. - Keep the existing behavior for invalid overrides that are not used by the schema. - Add a focused `BenchmarkComputeStatsPlan` benchmark. ## Why `arrowStatsCollector` was reparsing the default mode for every primitive and variant field. The Java implementation keeps parsed default and column modes in an immutable `MetricsConfig`, so this follows the same shape. ## Benchmark Apple M1 Pro, `go test -run ^ -bench ^BenchmarkComputeStatsPlan -benchmem -count=3 ./table` - 10,000 fields, default mode: 3.82 ms/op -> 2.28 ms/op - 10,000 fields, default mode: 6.56 MB/op -> 5.75 MB/op - 10,000 fields, default mode: 50,089 allocs/op -> 30,088 allocs/op ## Checks - `go test ./table` - `go test -race ./table` - `go test -run ^ ./...` - `go vet ./table` -- 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]
