4 ms·
You could do that if you really wanted on Windows; just set a 0 byte user space send and receive socket buffer. You can do dual synchronous/asynchronous socket
by trentnelson 10y ago
You could do that if you really wanted on Windows; just set a 0 byte user space send and receive socket buffer.
You can do dual synchronous/asynchronous socket I/O in Windows. I use this very approach with PyParallel (and 0 byte send buffers): https://github.com/pyparallel/pyparallel/blob/branches/3.3-px/Python/pyparallel.c#L9471 https://github.com/pyparallel/pyparallel/blob/branches/3.3-p...
Depending on current load, that will either immediately do an asynchronous operation, or attempt synchronous non-blocking ones up to a certain number, then fall back to asynchronous.
Described here: https://speakerdeck.com/trent/pyparallel-how-we-removed-the-gil-and-exploited-all-cores?slide=120 https://speakerdeck.com/trent/pyparallel-how-we-removed-the-...