-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Open
Description
So the idea behind --fast-io is to avoid an extra select() to decide whether or not the destination socket is ready to accept a packet, and "just try".
Having different flows here really complicates the event/packet handling code after multisocket merge, so it was decided to throw out --fast-io and make the rest easier to follow.
As a post-2.7 approach, one idea might be to report back all sockets that could accept packets (or have packets ready to read) and then do "as much in one go as is possible". We call select() anyway, but if I understand this correctly, we will only do "one packet read, then new select, then one packet write" which is even slower than necessary...
This issue is for brainstorming and for eventually coming up with code