The reason why I say this is that it means that instead of doing poll syscall, then get event, then issue new syscall, you can simply issue the recv. As data becomes available, it's consumed as soon as the app runs. No extra round trips, no thread offload. Win/win Now 4x faster!https://twitter.com/axboe/status/1229486613857591296 …
I think just doing uring polls for readiness, and then batching the submission of recvs, works actually pretty well once you're at that scale. More often than not there'll be multiple POLLs finishing at a time, allowing to submit multiple recvs too. Still overhead obviously.
-
-
Agree, it’ll work pretty well, though not as elegant or efficient as if we could just pick a buffer. But it’ll do for now, if you’re handling that many connections and don’t have the buffer freedom.
-
batching the recv's after the poll is the plan yeah. But, since I have N worker threads 99% of the time they're waking up to a single event; even if I just have one buffer to auto-assign (and batch if there're a ton) it'll cut time in half.
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.