fallintoplace opened a new pull request, #1972:
URL: https://github.com/apache/iceberg-go/pull/1972

   ## Summary
   
   - **Projects** manifest data-file reads to the fields needed for scan tasks.
   - Keeps metric maps only when row pruning or positional-delete matching 
needs them.
   - Drops transient metric maps before local Arrow tasks retain the files.
   - Keeps `PlanFiles()` on the existing full-metadata path for callers that 
inspect task stats.
   - Caches projected Avro schemas by writer schema and projection.
   
   ## Benchmark
   
   Command: `go test . -run ^ -bench BenchmarkManifestEntryProjection 
-benchtime=1x -count=1`
   
   Apple M1 Pro, 10,000 entries per case:
   
   | Stats fields | Full bytes | Scan bytes | Full allocs | Scan allocs |
   | --- | ---: | ---: | ---: | ---: |
   | 10 | 32.6 MB | 15.6 MB | 443,928 | 65,797 |
   | 100 | 260.2 MB | 100.5 MB | 2,257,763 | 77,930 |
   | 1,000 | 2.93 GB | 1.45 GB | 20,512,582 | 332,865 |
   
   ## Validation
   
   - `go test . ./table -count=1`
   - Full package test matrix excluding the idle `io/gocloud` package
   - `go test ./... -run '^$' -count=1`
   - `go test -race ./table -run 
'TestOpenManifestWithProjectionDropsStatsAfterFiltering|TestOpenManifestShortCircuitsMetricsEvaluation|TestBuildPositionalDeleteIndex|TestBuildEqualityDeleteIndex'
 -count=1`
   - `go vet ./...`
   - `golangci-lint v2.12.2`


-- 
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