Xuanwo commented on PR #760: URL: https://github.com/apache/iceberg-rust/pull/760#issuecomment-2801299417
> And for `Box<dyn Future>`, it means only some, rather than all, of the calls involve I/O. For example, in a concrete `FileWrite` implementation, we may have a large write buffer, and in every call on write, we append new data to the write buffer, and do I/O to send the buffered data only when the buffer is full. In this scenario, only the few writes that make the buffer full involve I/O. In the worse case, when we write data byte by byte, we will have to repeatedly create a `Box<dyn Future>` for simply writing a byte to the write buffer for each byte. Thank you @wenym1 for the explanation. This makes much more sense—the cost of building a `Box<dyn Future>` for each byte can be relatively high. I'm looking forward to seeing your results on this. I'm happy to continue the discussion if you're willing to start a separate one. -- 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: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org