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]

Reply via email to