[Python-ideas] Extend socket.accept to put accepted socket in non-blocking mode
Saúl Ibarra Corretgé
saghul at gmail.com
Fri Mar 7 12:14:04 CET 2014
On 03/07/2014 11:40 AM, Antoine Pitrou wrote:
> On Fri, 07 Mar 2014 10:37:58 +0100
> Saúl Ibarra Corretgé <saghul-Re5JQEeQqe8AvxtiuMwx3w at public.gmane.org>
> wrote:
>>
>> accept4 allows us to do this with a single syscall, and it made it into
>> FreeBSD 10, so that's another system that could benefit from this
>> optimization.
>
> If it doesn't, then perhaps the configure script needs to be fixed.
>
Probably not, I'll have a look.
>> The idea is to accept an incoming connection and make it non-blocking at
>> the same time, asyncio and other frameworks would benefit from this by
>> doing one function call and 2 syscalls less (on supported systems, that is).
>
> That's not likely to do a significant difference (benchmarks welcome).
>
Actually, after http://hg.python.org/cpython/rev/5f0d1aad7322/ it's 2
function calls (accept + set_blocking)+ 2 syscalls (accept + ioctl
FIONBIO) vs 1 function call (accept) + 1 syscall (accept4).
--
Saúl Ibarra Corretgé
bettercallsaghul.com
More information about the Python-ideas
mailing list