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

   ## What
   
   Decode REST Puffin deletion vectors once when `referenced-data-file` is 
missing.
   
   ## Why
   
   A shared deletion vector was decoded again for every scan task that 
referenced it.
   
   ## Implementation
   
   - Infer an owner only when all references agree.
   - Reuse the decoded vector for those tasks.
   - Keep malformed-reference checks and conflict fallback.
   - Add shared-vector coverage and benchmarks.
   
   ## Benchmark
   
   At 10,000 tasks, the decoder call counts change as follows:
   
   | Workload | Before -> after |
   | --- | ---: |
   | One unowned vector per task | 20,000 -> 10,000 |
   | One unowned vector shared by all tasks | 10,001 -> 1 |
   
   These are decoder call counts, not runtime speedups. The benchmark covers 
100, 1,000, and 10,000 tasks. Reproduce with `go test ./catalog/rest -run '^$' 
-bench '^BenchmarkDecodeScanTasks(DeletionVectors|SharedDeletionVector)$' 
-benchmem -count=5`.
   


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