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

   ## What
   
   - **Skip the writer schema projection** when the incoming Arrow batch 
already matches the target Arrow schema.
   - Applies to both the default writer and rolling writer.
   - Compares field order, physical types, nullability, field metadata, and 
top-level metadata.
   - Keeps the existing projection for reordered columns, missing/default 
fields, timestamp downcasts, list offset changes, and metadata mismatches.
   - Adds checked-allocator identity tests and a focused benchmark.
   
   ## Benchmark
   
   `BenchmarkDefaultDataFileWriter` with 128 rows, 5 runs on an Apple M1 Pro:
   
   - **Before:** 4.6 to 5.3 us/op, about 5.0 KB/op, 73 allocs/op
   - **After:** 1.7 to 3.1 us/op, about 0.9 KB/op, 15 allocs/op
   
   The focused benchmark measured the exact-schema path at about **35 to 51 
ns/op with 0 allocs/op**. Projection stayed around **2.6 to 3.0 us/op** with 60 
allocs/op.
   
   ## Checks
   
   - `go test ./table`
   - `go test -race ./table -run 
'Test(ToRequestedSchemaWriteFastPath|DefaultDataFileWriterReusesExactBatch|RollingDataWriterReusesExactBatch)$'`\n-
 `go vet ./table`\n- `go test ./... -run '^$'`


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