Baunsgaard opened a new pull request, #645:
URL: https://github.com/apache/iceberg-cpp/pull/645

   Add ForEachPositionDelete (the C++ equivalent of Java's 
PositionDeleteRangeConsumer) and route DeleteLoader through it, replacing the 
per-position PositionDeleteIndex::Delete(pos) call. The function sniffs a 
1024-position prefix and dispatches to either run coalescing (CRoaring 
addRange) or bulk addMany grouped by high-32-bit key.
   
   Also rework DeleteLoader::LoadPositionDelete to read Arrow batches via 
nanoarrow's ArrowArrayView directly. When the delete file's 
referenced_data_file matches the target (V2 writer hint), positions are passed 
as a zero-copy span; otherwise a per-batch staging vector filters by path.
   
   Local microbenchmarks: 2.2x-10.6x for ForEachPositionDelete and 2.1x-2.5x 
end-to-end through LoadPositionDeletes. Equivalent of apache/iceberg#16052.


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