<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Agree. It was only offered as evidence that async handling can offer huge rewards. Since the case study distinguished between socket and file async it was a good example imo.<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Jun 3, 2024, at 9:28 AM, Pedro Lamarão <<a href="mailto:pedro.lamarao@prodist.com.br" class="">pedro.lamarao@prodist.com.br</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div class="">Linux sendfile and Windows TransmitFile are very specific beasts.</div><div class="">If you are sending files to sockets, yes, that should be the best the system can do.</div><div class="">For general file I/O in Linux, the API called AIO with aio_read and aio_write is no good.</div><div class="">These communicate completion asynchronously via UNIX signals.</div><div class="">Linux I/O rings seem to be the way forward, but do not seem ready for general production yet.<br class=""></div><div class="">Some cloud providers disable it because of a history of security bugs.</div><div class="">Pedro.<br class=""></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Em seg., 3 de jun. de 2024 às 11:06, Robert Engels <<a href="mailto:robaho@icloud.com" class="">robaho@icloud.com</a>> escreveu:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Here is an interesting case study on async file IO under Linux <a href="http://blog.lighttpd.net/articles/2006/11/12/lighty-1-5-0-and-linux-aio/" rel="noreferrer" target="_blank" class="">http://blog.lighttpd.net/articles/2006/11/12/lighty-1-5-0-and-linux-aio/</a><br class="">
<br class="">
> On May 31, 2024, at 6:22 PM, robert engels <<a href="mailto:robaho@icloud.com" target="_blank" class="">robaho@icloud.com</a>> wrote:<br class="">
> <br class="">
> I looked into the code. Seems Java is the same. I looked into it - and seems for many workloads async file IO can improve efficiency by 80%. <br class="">
> <br class="">
>> On May 31, 2024, at 5:45 PM, Robert Engels <<a href="mailto:robaho@me.com" target="_blank" class="">robaho@me.com</a>> wrote:<br class="">
>> <br class="">
>> Hi,<br class="">
>> <br class="">
>> An interesting question came up on the Go support channels. One of the principle engineers stated that for local file IO, the Go routine (similar to virtual thread) won’t release the carrier thread.<br class="">
>> <br class="">
>> Is this the same with Java virtual threads? Yes, local IO is typically fast - but it is still order of magnitudes slower than memory computations - which the virtual thread could be doing while waiting for the IO request to be serviced.<br class="">
>> <br class="">
>> R<br class="">
<br class="">
</blockquote></div><br class=""></div>
</div></blockquote></div><br class=""></body></html>